ã“ã‚“ã«ã¡ã¯Big iguchiã§ã™ã€‚
å‰å›žã®ã€ŒAndroid NDKを使用ã—ã¦Java言語ã¨C言語ã§é€Ÿåº¦æ¯”較をã™ã‚‹ã€ã«å¼•ãç¶šãAndroid NDKã§éŠã‚“ã§ã¿ã¾ã™ã€‚
今回ã¯ãŸã ã€è¨ˆç®—ã™ã‚‹ã ã‘ã§ãªãå°‘ã—実用的ã«ç”»åƒã®å¹³å‡RGBã‚’å–å¾—ã™ã‚‹ã‚³ãƒ¼ãƒ‰ã‚’Javaã¨Cè¨€èªžã§æ¯”較ã—よã†ã¨æ€ã„ã¾ã™ã€‚
ã¾ãšã¯ã€ã¡ã‚‡ã£ã¨ç”»åƒã®èª¬æ˜Žã€‚。。。
Androidã®å ´åˆã€ç”»åƒãƒ‡ãƒ¼ã‚¿ã‚’Bitmapã§æ‰±ã†ã“ã¨ãŒå¤šã„ã®ã§ã™ãŒã€ã“ã®ã¾ã¾ã ã¨Cè¨€èªžã§æ‰±ã„ã«ãã„ã®ã§ã€ã€ŒBitmap.setPixel()ã‚’setPixels()ã«å¤‰ãˆãŸã‚‰ï¼“å€é€Ÿããªã£ãŸã‚ˆã€ã§daichi1128ãŒè¨€ã£ã¦ã„るよã†ã«getPixelsã§intåž‹ã®é…列ã¨ã—ã¦è‰²æƒ…å ±ã‚’å–å¾—ã—ã¾ã™ã€‚以下ã«ãªã‚Šã¾ã™ã€‚
bitmap.getPixels(pixels, 0, originalWidth, 0, 0, originalWidth, originalHeight);
getPixelsã®ç¬¬ï¼‘引数ã«ã¯bitmapã®è‰²æƒ…å ±ãŒintåž‹ã§ä»¥ä¸‹ã®ãƒ•ォーマットã§è¿”ã£ã¦ãã¾ã™ã€‚
0xFFFFFFFF
| 24~31ビット | alpha |
| 16~23ビット | red |
| 8~15ビット | green |
| 0~7ビット | blue |
ã¤ã¾ã‚Šã€ä»¥ä¸‹ã®ã‚³ãƒ¼ãƒ‰ã§ãƒ”クセル毎ã«RGBカラーをå–å¾—ã§ãã‚‹ã¨ã„ã†ã“ã¨ã§ã™ã。
ã¤ãŽã«ã€é…列をJavaã‹ã‚‰Cè¨€èªžã«æ¸¡ã™ã¨ãã®èª¬æ˜Žã€‚。。。
ã“ã®å‡¦ç†ã‚’C言語ã§è¡Œã„ãŸã„ãŸã‚ã«ã€ã“ã®ç¬¬ï¼‘引数ã®inté…列をJavaã‹ã‚‰Cè¨€èªžã«æ¸¡ã›ã‚Œã°ã„ã„ã§ã™ã。方法ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ã—ã¾ã—ãŸã€‚
・Java言語å´
・C言語å´
åŒæ§˜ãªå‡¦ç†ã‚’Javaã§ã‚‚記述ã—ã¦ã€å‰å›žã¨åŒæ§˜ã«å®Ÿè¡Œã—ã¦ã¿ã¾ã—ãŸã€‚
çµæžœã¯ä»¥ä¸‹ã«ãªã‚Šã¾ã™ã€‚。。。

Javaã¨Nativeã§ç”ãˆã‚‚一致ã—ã¦ã¾ã™ã。海ã®ç”»åƒã‚’使ã£ã¦ã¿ãŸã‚“ã§ã™ãŒblueã¨greenã®å¹³å‡å€¤ãŒé«˜ã„ã®ã§ãã¡ã‚“ã¨è§£æžã§ãã¦ã¾ã™ã。ãã—ã¦é€Ÿåº¦ã‚‚Nativeã®æ–¹ãŒã‹ãªã‚Šæ—©ã„。画åƒå‡¦ç†ã«ã‚‚Android NDKã¯å分使ãˆãã†ã§ã™ã€‚
ã“れを応用ã™ã‚Œã°ã€ã€ŒAndroidã§ãƒ¢ã‚¶ã‚¤ã‚¯ç”»åƒã‚’作ã£ã¦ã¿ã‚‹ã€ã®ãƒ¢ã‚¶ã‚¤ã‚¯å‡¦ç†ã‚„ä»–ã®ç”»åƒå‡¦ç†ã‚‚高速化出æ¥ã‚‹ã¨æ€ã„ã¾ã™ã€‚皆ã•ã‚“ãœã²ã‚„ã£ã¦ã¿ã¦ãã ã•ã„。
今回ã¯ä»¥ä¸Šã¨ãªã‚Šã¾ã™ã€‚
æµ·ã«è¡ŒããŸã„。





