画像データbyte[]のBitmap変換時に「Factory returned null」エラー

5,541 views
Skip to first unread message

soosan

unread,
Oct 22, 2012, 11:12:43 AM10/22/12
to android-g...@googlegroups.com
皆さん
  
こんにちは。田中です。
個人でandroidアプリを勉強しています。
  
画像データ(byte[])をBitmapに変換して、
ImageViewに表示しようとしたところ、
SkImageDecoderのエラーとなってしまいます。
原因を御存知の方、教えて頂けないでしょうか?
 
<ソース>*抜粋
①データ定義
   byte[] data;
   
②カメラ画像データ取得(フォーマット:RGB32)
   data = *省略
   
③byte[]→Bitmapへの変換
   BitmapFactory.Options opts = new BitmapFactory.Options();
   opts.inPreferredConfig = Bitmap.Config.RGBA_8888;
   Bitmap bmp = BitmapFactory.decodeByteArray(data, 0, data.length, opts);
   
④画面表示
   ImageView image = (ImageView)this.findViewById(R.id.image);
   image.setImageBitmap(bmp);
 
<現状>
ImageViewに何も表示されない。
   
<エラーログ>
D/skia    (10020): --- SkImageDecoder::Factory returned null
   
   
以上、よろしくお願い致します。

Yusuke Naka

unread,
Oct 22, 2012, 11:40:19 AM10/22/12
to android-g...@googlegroups.com
仲と申します。

はじめまして。

>opts.inPreferredConfig = Bitmap.Config.RGBA_8888;
>Bitmap bmp = BitmapFactory.decodeByteArray(data, 0, data.length, opts);

読み込む画像データをデコードできないから returned null になるのではないでしょうか?
公式リファレンスにもそのようなことが書かれています。
http://developer.android.com/reference/android/graphics/BitmapFactory.html

-----
抜粋
-----
public static Bitmap decodeByteArray (byte[] data, int offset, int
length, BitmapFactory.Options opts)

  ・・・・・

Returns
The decoded bitmap, or null if the image data could not be decoded,
or, if opts is non-null, if opts requested only the size be returned
(in opts.outWidth and opts.outHeight)
-----

以下のスレッドでも同じようなやり取り流されています。
https://groups.google.com/forum/#!msg/android-group-japan/O5vDyUHcTpQ/WjeN8taxdCYJ


以上、参考になれば幸いです。


2012年10月23日 0:12 soosan <mr.s...@gmail.com>:
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msg/android-group-japan/-/TY2iidJbePMJ
> にアクセスしてください。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com
> にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja
> からこのグループにアクセスしてください。



--
from Yusuke

soosan mr

unread,
Oct 25, 2012, 5:55:50 AM10/25/12
to android-g...@googlegroups.com
TO:仲さん
CC:皆さん

アドバイス、ありがとうございます。
 
私の説明不足ですみません。
表示しようとしている画像データのフォーマットはRBGなのです。
 
今、OpenRTM-aistを利用して、
他端末から画像データを送信して、
スマートフォン側でデータ受信し、ImageViewに表示する
ということをやっています。
 
ちなみに、送信側は、
サイズは縦X横:「120 X 160」
RBGフォーマット:RBG24
の画像データを送信しています。
 
このようなケースでは、
BitmapFactory.decodeByteArray()
を利用できないのでしょうか?

以上です。
よろしくお願いします。




2012年10月23日 0:40 Yusuke Naka <com.y...@gmail.com>:

MORIHIRO

unread,
Oct 25, 2012, 6:39:42 AM10/25/12
to android-g...@googlegroups.com
BitmapFactory.decodeByteArray() に渡す data はjpegとかpngとかのformatの
バイナリデータ列ですので、RGB値列からBitmapを作成したいのであれば、
以下のどちらかを使うことになると思います。

Bitmap.createBitmap(int[] colors, int width, int height, Bitmap.Config config)
Bitmap.setPixels(int[] pixels, int offset, int stride, int x, int y, int width, int height)

※int[] なので、そのまま渡せるわけではありませんが。。。

2012年10月25日木曜日 18時56分13秒 UTC+9 soosan:
> このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-japan+unsubscribe@googlegroups.com

> にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja
> からこのグループにアクセスしてください。



--
from Yusuke

--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。
このグループから退会するには、android-group-japan+unsubscribe@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。


soosan mr

unread,
Oct 28, 2012, 10:05:41 PM10/28/12
to android-g...@googlegroups.com
TO:MORIHIROさん
CC:皆さん

田中です。
返信、ありがとうございます。

※途中段階のメールで失礼します。
  調査が完了したらまた報告します。

Bitmap.createBitmap()でやってみました。
エラーが出なくなりました。

しかし、その結果、”送信側”の画像データに問題が
あるのではないか、と確認しています。
※Bitmap.createBitmap()は”受信側”で利用しています。

<少し補足説明>
前回のメールで書きましたが、
OpenRTM-aistを利用して、他端末から画像データを送信しています。
その画像フォーマットがAndroid側と違うとわかりました。

調査を継続します。

以上です。
よろしくお願いします。


2012年10月25日 19:39 MORIHIRO <morihi...@gmail.com>:
このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msg/android-group-japan/-/TLveTraFoHQJ にアクセスしてください。

このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。

MORIHIRO

unread,
Oct 28, 2012, 11:47:13 PM10/28/12
to android-g...@googlegroups.com
> OpenRTM-aistを利用して、他端末から画像データを送信しています。
> その画像フォーマットがAndroid側と違うとわかりました。

よっぽど大丈夫だとは思いますが念のため、、、
Android側はARGB32となりますので、送信側がRGB24だったら
ダミーでalpha=FFを追加する必要があります。

http://developer.android.com/reference/android/graphics/Color.html
ARGB32 = (A<<24) | (R<<16) | G<<8) | B

2012年10月29日月曜日 11時06分12秒 UTC+9 soosan:
> このグループに投稿するには、android-group-jap...@googlegroups.com にメールを送信してください。

> このグループから退会するには、android-group-japan+unsubscribe@googlegroups.com
> にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja
> からこのグループにアクセスしてください。



--
from Yusuke

--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このグループに投稿するには、android-group-jap...@googlegroups.com にメールを送信してください。

このグループから退会するには、android-group-japan+unsubscribe@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。

--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msg/android-group-japan/-/TLveTraFoHQJ にアクセスしてください。

soosan mr

unread,
Oct 30, 2012, 4:59:37 AM10/30/12
to android-g...@googlegroups.com
TO:MORIHIROさん

返信、ありがとうございます。


>よっぽど大丈夫だとは思いますが念のため、、、
>Android側はARGB32となりますので、送信側がRGB24だったら
>ダミーでalpha=FFを追加する必要があります。
>http://developer.android.com/reference/android/graphics/Color.html
>ARGB32 = (A<<24) | (R<<16) | G<<8) | B

上記情報、ありがとうございます。
送信側はRGB24です。

やってみました。
RGBの前にalphaを追加してARGBにしましたが、
まだ画像を画面に表示できません。
*alpha + RGB = ARGB

もう少し調べてみます。










2012年10月29日 12:47 MORIHIRO <morihi...@gmail.com>:
このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msg/android-group-japan/-/1cSHZqgKPWUJ にアクセスしてください。

このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。

MORIHIRO

unread,
Oct 30, 2012, 8:18:36 AM10/30/12
to android-g...@googlegroups.com
> まだ画像を画面に表示できません。

この「表示できません」というのは、「きれいに表示できません」という
状況なんですよね?

もしImageViewに何も表示されていないとしたら、
fomatとは別の問題が発生している可能性がありますので。。。

2012年10月30日火曜日 17時59分59秒 UTC+9 soosan:
このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msg/android-group-japan/-/1cSHZqgKPWUJ にアクセスしてください。

soosan mr

unread,
Oct 30, 2012, 9:14:57 PM10/30/12
to android-g...@googlegroups.com
TO: MORIHIROさん

田中です。

返信、ありがとうございます。

>この「表示できません」というのは、「きれいに表示できません」
>という状況なんですよね?
>もしImageViewに何も表示されていないとしたら、
>fomatとは別の問題が発生している可能性がありますので。。。

記述が不明確で失礼しました。
何も表示されなくて、黒い画面のまま
という状況です。
調べてみます。
 
一応、現状のソースを記述します。
(最初の投稿と変わっています)

<ソース>*抜粋
①データ定義
   List<Byte> dataList;
   int width = 160;// 受信データの幅
   int height = 120; // 受信データの高さ
   
②カメラ画像データ取得
※OpenRTM-aistを利用。フォーマット:RGB24。
   dataList = *省略 (dataListのサイズはwidth*height*3)
   
③フォーマットをalpha=FFを追加してRGB32にする。同時にbyte型からint型に変換
   byte[] databyte = new byte[width*height*3];
   int[] dataint = new int[width*height*4];
   int cntData=0;
   for (int i=0; i < dataList.size(); i++) {
    databyte[i] = dataList.get(i);
    //alpha=255(FF)を追加する
    if (i%3 == 0) {
     dataint[cntData] = 255;
     cntData++;
    }
    //int型に変換
    dataint[cntData] = databyte[i] & 0xff;
    cntData++;
   }
   
④byte[]→Bitmapへの変換
   Bitmap bmp = Bitmap.createBitmap(dataint,width, height, Bitmap.Config.ARGB_8888);
   
⑤画面表示

   ImageView image = (ImageView)this.findViewById(R.id.image);
   image.setImageBitmap(bmp);
   
以上です。
よろしくお願いします。
   
    




2012年10月30日 21:18 MORIHIRO <morihi...@gmail.com>:
このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msg/android-group-japan/-/OJmb6uwyuPIJ にアクセスしてください。

このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。

yoshim

unread,
Oct 30, 2012, 10:41:53 PM10/30/12
to android-g...@googlegroups.com
こんにちは、森といいます。

Base64.decode()を使用してはいかがでしょうか?

私の環境ではPNGデータをバイナリで受信後(Stringにキャスト)、
byte[] data = Base64.decode(画像データ(=String型), 0);
で画像データをdecodeし、byte[]→Bitmap変換を行っています。



2012年10月23日火曜日 0時12分43秒 UTC+9 soosan:

Makoto Yamazaki

unread,
Oct 30, 2012, 11:05:32 PM10/30/12
to android-g...@googlegroups.com
zaki です。

ARGB を 4つのint で表現するのではなく、1つの int(32bit) にそれぞれ 8bit のARGBを
つめこむ必要があります。なので、


int[] dataint = new int[width*height*4];


int[] dataint = new int[width*height];
が正しいです(多い分には使われないだけですが)。
これにあわせて alpha や RGB の書き込みをみなおしてください。

現状何が起きているかというと、


dataint[cntData] = databyte[i] & 0xff;

で ARGB の B に当たる部分以外を 0 にしてしまっているので alpha が 0 になり
背景の黒が見えている状態だとだと思います。

2012/10/31 soosan mr <mr.s...@gmail.com>:

>>>>>>>> > このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
>>>>>>>> > このグループから退会するには、android-group-j...@googlegroups.com
>>>>>>>> > にメールを送信してください。
>>>>>>>> > 詳細については、http://groups.google.com/group/android-group-japan?hl=ja
>>>>>>>> > からこのグループにアクセスしてください。
>>>>>>>>
>>>>>>>>
>>>>>>>>

>>>>>>>> --
>>>>>>>> from Yusuke
>>>>>>>>
>>>>>>>> --
>>>>>>>> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。

>>>>>>>> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
>>>>>>>> このグループから退会するには、android-group-j...@googlegroups.com
>>>>>>>> にメールを送信してください。
>>>>>>>> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja
>>>>>>>> からこのグループにアクセスしてください。
>>>>>>>>
>>>>>>>

>>>>>> --
>>>>>> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
>>>>>>
>>>>>> このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msg/android-group-japan/-/TLveTraFoHQJ
>>>>>> にアクセスしてください。
>>>>>>

>>>>>> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
>>>>>> このグループから退会するには、android-group-j...@googlegroups.com
>>>>>> にメールを送信してください。
>>>>>> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja
>>>>>> からこのグループにアクセスしてください。
>>>>>
>>>>>

>>>> --
>>>> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
>>>>
>>>> このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msg/android-group-japan/-/1cSHZqgKPWUJ
>>>> にアクセスしてください。
>>>>

>>>> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
>>>> このグループから退会するには、android-group-j...@googlegroups.com
>>>> にメールを送信してください。
>>>> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja
>>>> からこのグループにアクセスしてください。
>>>
>>>
>> --
>> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
>>
>> このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msg/android-group-japan/-/OJmb6uwyuPIJ
>> にアクセスしてください。
>>
>> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
>> このグループから退会するには、android-group-j...@googlegroups.com
>> にメールを送信してください。
>> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja
>> からこのグループにアクセスしてください。
>
>

> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。

> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com
> にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja
> からこのグループにアクセスしてください。

--
YAMAZAKI Makoto

MORIHIRO

unread,
Oct 30, 2012, 11:12:15 PM10/30/12
to android-g...@googlegroups.com
私が説明を省略しすぎたせいだと思いますが、
③の変換は、例えば以下のようにすれば大丈夫だと思います。

int[] dataint = new int[width*height];
int cntData=0;
for (int i=0; i < dataList.size(); i+=3) {
  dataint[cntData++] = Color.rgb(
    dataList.get(i),    // Red
    dataList.get(i+1),  // Green
    dataList.get(i+2)); // Blue
}

※Bitmap.createBitmap()に渡すint配列は1要素(32bit)でARGB値を表します。

2012年10月31日水曜日 10時15分27秒 UTC+9 soosan:
このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msg/android-group-japan/-/OJmb6uwyuPIJ にアクセスしてください。

たろサ

unread,
Oct 30, 2012, 11:17:59 PM10/30/12
to android-g...@googlegroups.com
 たろサです。

 何かRGBとかARGBとか、理解されていないような気がします。

//int[] dataint = new int[width*height*4];
int[] dataint = new int[width*height];

for (int i=0; i < width*height; i++) {
dataint[i] = (0xff<<24) + (databyte[3*i]<<16) + (databyte[3*i+1]<<8) + databyte[3*i+2];
}

 こんな感じのループでいいはずですよ。
> 2012年10月30日 21:18 MORIHIRO <morihi...@gmail.com <mailto:morihi...@gmail.com>>:
>
> > まだ画像を画面に表示できません。
>
> この「表示できません」というのは、「きれいに表示できません」という
> 状況なんですよね?
>
> もしImageViewに何も表示されていないとしたら、
> fomatとは別の問題が発生している可能性がありますので。。。
>
> 2012年10月30日火曜日 17時59分59秒 UTC+9 soosan:
>
> TO:MORIHIROさん
>
> 返信、ありがとうございます。
>
> >よっぽど大丈夫だとは思いますが念のため、、、
> >Android側はARGB32となりますので、__送信側がRGB24だったら
> >ダミーでalpha=FFを追加する必要があります。
> >http://developer.android.com/__reference/android/graphics/__Color.html
> <http://developer.android.com/reference/android/graphics/Color.html>
> >ARGB32 = (A<<24) | (R<<16) | G<<8) | B
>
> 上記情報、ありがとうございます。
> 送信側はRGB24です。
>
> やってみました。
> RGBの前にalphaを追加してARGBにしましたが、
> まだ画像を画面に表示できません。
> *alpha + RGB = ARGB
>
> もう少し調べてみます。
>
>
>
>
>
>
>
>
>
>
> 2012年10月29日 12:47 MORIHIRO <morihi...@gmail.com>:
>
> > OpenRTM-aistを利用して、__他端末から画像データを送信しています。
> > その画像フォーマットがAndroid側と違うとわかりました。
>
> よっぽど大丈夫だとは思いますが念のため、、、
> Android側はARGB32となりますので、__送信側がRGB24だったら
> ダミーでalpha=FFを追加する必要があります。
>
> http://developer.android.com/__reference/android/graphics/__Color.html
> <http://developer.android.com/reference/android/graphics/Color.html>
> ARGB32 = (A<<24) | (R<<16) | G<<8) | B
>
> 2012年10月29日月曜日 11時06分12秒 UTC+9 soosan:
>
> TO:MORIHIROさん
> CC:皆さん
>
> 田中です。
> 返信、ありがとうございます。
>
> ※途中段階のメールで失礼します。
>   調査が完了したらまた報告します。
>
> Bitmap.createBitmap()でやってみました。
> エラーが出なくなりました。
>
> しかし、その結果、”送信側”の画像データに問題が
> あるのではないか、と確認しています。
> ※Bitmap.createBitmap()は”受信側”__で利__用しています。
>
> <少し補足説明>
> 前回のメールで書きましたが、
> OpenRTM-aistを利用して、__他端末から画像データを送__信しています。
> その画像フォーマットがAndroid側と違うとわかりました。
>
> 調査を継続します。
>
> 以上です。
> よろしくお願いします。
>
>
> 2012年10月25日 19:39 MORIHIRO <morihi...@gmail.com>:
>
> BitmapFactory.decodeByteArray(____) に渡す data はjpegとかpngとかのformatの
> バイナリデータ列ですので、__RGB値列からBitmapを作成し__たいのであれば、
> 以下のどちらかを使うことになると思います。
>
> Bitmap.createBitmap(int[] colors, int width, int height, Bitmap.Config config)
> Bitmap.setPixels(int[] pixels, int offset, int stride, int x, int y, int width,
> int height)
>
> ※int[] なので、そのまま渡せるわけではありませんが。。。
>
> 2012年10月25日木曜日 18時56分13秒 UTC+9 soosan:
>
> TO:仲さん
> CC:皆さん
>
> アドバイス、ありがとうございます。
>  
> 私の説明不足ですみません。
> 表示しようとしている画像データのフォーマットはRBGなのです______。
>  
> 今、OpenRTM-aistを利用して、
> 他端末から画像データを送信して、
> スマートフォン側でデータ受信し、ImageViewに表示する
> ということをやっています。
>  
> ちなみに、送信側は、
> サイズは縦X横:「120 X 160」
> RBGフォーマット:RBG24
> の画像データを送信しています。
>  
> このようなケースでは、
> BitmapFactory.decodeByteArray(______)
> を利用できないのでしょうか?
>
> 以上です。
> よろしくお願いします。
>
>
>
>
> 2012年10月23日 0:40 Yusuke Naka <com.y...@gmail.com>:
>
> 仲と申します。
>
> はじめまして。
>
> >opts.inPreferredConfig = Bitmap.Config.RGBA_8888;
> >Bitmap bmp = BitmapFactory.decodeByteArray(______data, 0, data.length,
> opts);
>
> 読み込む画像データをデコードできないから returned null になるのではない
> でしょうか?
> 公式リファレンスにもそのようなことが書かれています。
> http://developer.android.com/__r____eference/android/graphics/__Bitm____apFactory.html
> <http://developer.android.com/reference/android/graphics/BitmapFactory.html>
>
> -----
> 抜粋
> -----
> public static Bitmap decodeByteArray (byte[] data, int offset, int
> length, BitmapFactory.Options opts)
>
>   ・・・・・
>
> Returns
> The decoded bitmap, or null if the image data could not be decoded,
> or, if opts is non-null, if opts requested only the size be returned
> (in opts.outWidth and opts.outHeight)
> -----
>
> 以下のスレッドでも同じようなやり取り流されています。
> https://groups.google.com/__foru____m/#!msg/android-group-__japan/__O5__vDyUHcTpQ/WjeN8taxdCYJ
> <https://groups.google.com/forum/#%21msg/android-group-japan/O5vDyUHcTpQ/WjeN8taxdCYJ>
>
>
> 以上、参考になれば幸いです。
>
>
> 2012年10月23日 0:12 soosan <mr.s...@gmail.com>:
>
> > 皆さん
> >
> > こんにちは。田中です。
> > 個人でandroidアプリを勉強しています。
> >
> > 画像データ(byte[])をBitmapに変換して、
> > ImageViewに表示しようとしたところ、
> > SkImageDecoderのエラーとなってしまいます。
> > 原因を御存知の方、教えて頂けないでしょうか?
> >
> > <ソース>*抜粋
> > �データ定義
> >    byte[] data;
> >
> > �カメラ画像データ取得(フォーマット:RGB32)
> >    data = *省略
> >
> > �byte[]→Bitmapへの変換
> >    BitmapFactory.Options opts = new BitmapFactory.Options();
> >    opts.inPreferredConfig = Bitmap.Config.RGBA_8888;
> >    Bitmap bmp = BitmapFactory.decodeByteArray(______data, 0,
> data.length, opts);
> >
> > �画面表示
> >    ImageView image = (ImageView)this.findViewById(__R____.id.image);
> >    image.setImageBitmap(bmp);
> >
> > <現状>
> > ImageViewに何も表示されない。
> >
> > <エラーログ>
> > D/skia (10020): --- SkImageDecoder::Factory returned null
> >
> >
> > 以上、よろしくお願い致します。
> >
> > --
> > このメールは Google グループのグループ「日本Androidの会」__の登録者に
> 送られ____ています。
> > このディスカッションをウェブ上で閲覧するには、https:/______
> /groups.google.com/d/msg/__andro____id-group-japan/-/__TY2iidJbePMJ
> <https://groups.google.com/d/msg/android-group-japan/-/TY2iidJbePMJ>
> > にアクセスしてください。
> > このグループに投稿するには、android-group-
> __ja__...@googlegroups.com にメールを送信してください。
> > このグループから退会するには、android-group-
> __j____apan+unsubscribe@__googlegroups.____com
> > にメールを送信してください。
> > 詳細については、http://groups.google.__c____om/group/android-group-
> japan?__h____l=ja <http://groups.google.com/group/android-group-japan?hl=ja>
> > からこのグループにアクセスしてください。
>
>
>
> --
> from Yusuke
>
> --
> このメールは Google グループのグループ「日本Androidの会」__の登録者に送
> られ____ています。
> このグループに投稿するには、android-grou...@googlegroups.com
> にメールを送信してください。
> このグループから退会するには、android-group-
> __j____apan+unsubscribe@__googlegroups.____com にメールを送信してください。
> 詳細については、http://groups.google.__c____om/group/android-group-
> japan?__h____l=ja
> <http://groups.google.com/group/android-group-japan?hl=ja> からこのグ
> ループにアクセスしてください。
>
>
> --
> このメールは Google グループのグループ「日本Androidの会」__の登録者に送られ__て
> います。
> このディスカッションをウェブ上で閲覧するには、https:/____/groups.google.com/d
> /msg/__andro__id-group-japan/-/__TLveTraFoHQJ
> <https://groups.google.com/d/msg/android-group-japan/-/TLveTraFoHQJ> にアクセス
> してください。
>
> このグループに投稿するには、android-gro...@googlegroups.com にメールを
> 送信してください。
> このグループから退会するには、android-group-
> __j__apan+unsubscribe@__googlegroups.__com にメールを送信してください。
> 詳細については、http://groups.google.__c__om/group/android-group-japan?__h__l=ja
> <http://groups.google.com/group/android-group-japan?hl=ja> からこのグループにア
> クセスしてください。
>
>
> --
> このメールは Google グループのグループ「日本Androidの会」__の登録者に送られています。
> このディスカッションをウェブ上で閲覧するには、https:/__/groups.google.com/d/msg
> /__android-group-japan/-/__1cSHZqgKPWUJ
> <https://groups.google.com/d/msg/android-group-japan/-/1cSHZqgKPWUJ> にアクセスしてくだ
> さい。
>
> このグループに投稿するには、android-gr...@googlegroups.com にメールを送信してく
> ださい。
> このグループから退会するには、android-group-__japan+unsubscribe@__googlegroups.com
> メールを送信してください。
> 詳細については、http://groups.google.__com/group/android-group-japan?__hl=ja
> <http://groups.google.com/group/android-group-japan?hl=ja> からこのグループにアクセスし
> てください。
>
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msg/android-group-
> japan/-/OJmb6uwyuPIJ にアクセスしてください。
>
> このグループに投稿するには、android-g...@googlegroups.com
> <mailto:android-g...@googlegroups.com> にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com
> <mailto:android-group-japan%2Bunsu...@googlegroups.com> にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアク
> セスしてください。
>
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してく
> ださい。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセス
> してください。

--
山本三七男 (Minao Yamamoto) ---------------- ハンドル:たろサ -----
E-Mail: taro...@gmail.com

soosan mr

unread,
Oct 31, 2012, 2:19:51 AM10/31/12
to android-g...@googlegroups.com
TO:森さん、zakiさん、MORIHIROさん、たろサさん

田中です。

いろいろアドバイス、ありがとうございます。

試したところ、たろサさんが記述された、

  dataint[i] = (0xff<<24) + (databyte[3*i]<<16) + (databyte[3*i+1]<<8) + databyte[3*i+2];
を利用して、受信した画像データを画面に表示することができました。
ありがとうございます。


◆MORIHIROさん

>私が説明を省略しすぎたせいだと思いますが、

いいえ、私がRGB,ARGBの事をわっていないのが原因です。

>③の変換は、例えば以下のようにすれば大丈夫だと思います。

>  dataint[cntData++] = Color.rgb(
>    dataList.get(i),    // Red
>    dataList.get(i+1),  // Green
>    dataList.get(i+2)); // Blue

やってみました。
画像は表示され、画像も何が映っているかわかるのですが、
正確な画像は表示できませんでした。
表現が難しいのですが、光が強い環境で写真を撮った時のような画像に
なってしまいました(表現下手ですみません)。

ちなみに、Color.argb()でもやってみましたが、
上記と同様な画像が表示されました。
時間のある時に調べたいと思います。

以前、MORIHIROさんが下記を指摘してくださいました。この時、私がもっとしっかり理解すべきでした。
すみませんでした。


◆たろサさん

>何かRGBとかARGBとか、理解されていないような気がします。

御指摘の通りです。
今後、勉強していきたいと思います。

冒頭で記述しましたが、
アドバイスして頂いた方法で画像表示できました。
ありがとうございました。


皆さん、いろいろアドバイスありがとうございました。
今後、勉強不足の点を確認していきたいと思います。

以上です。
よろしくお願いします。

2012年10月31日 12:17 たろサ <taro...@gmail.com>:
2012年10月30日 21:18 MORIHIRO <morihi...@gmail.com <mailto:morihiro.soft@gmail.com>>:
                            このグループに投稿するには、android-group-__ja__...@googlegroups.com

                            にメールを送信してください。
                            このグループから退会するには、android-group-
                            __j____apan+unsubscribe@__googlegroups.____com にメールを送信してください。
                            詳細については、http://groups.google.__c____om/group/android-group-
                            japan?__h____l=ja
                            <http://groups.google.com/group/android-group-japan?hl=ja> からこのグ
                            ループにアクセスしてください。


                    --
                    このメールは Google グループのグループ「日本Androidの会」__の登録者に送られ__て
                    います。
                    このディスカッションをウェブ上で閲覧するには、https:/____/groups.google.com/d
                    /msg/__andro__id-group-japan/-/__TLveTraFoHQJ
                    <https://groups.google.com/d/msg/android-group-japan/-/TLveTraFoHQJ> にアクセス
                    してください。

                    このグループに投稿するには、android-group-__ja_...@googlegroups.com にメールを

                    送信してください。
                    このグループから退会するには、android-group-
                    __j__apan+unsubscribe@__googlegroups.__com にメールを送信してください。
                    詳細については、http://groups.google.__c__om/group/android-group-japan?__h__l=ja
                    <http://groups.google.com/group/android-group-japan?hl=ja> からこのグループにア
                    クセスしてください。


            --
            このメールは Google グループのグループ「日本Androidの会」__の登録者に送られています。
            このディスカッションをウェブ上で閲覧するには、https:/__/groups.google.com/d/msg
            /__android-group-japan/-/__1cSHZqgKPWUJ
            <https://groups.google.com/d/msg/android-group-japan/-/1cSHZqgKPWUJ> にアクセスしてくだ
            さい。

            このグループに投稿するには、android-group-__ja...@googlegroups.com にメールを送信してく

            ださい。
            このグループから退会するには、android-group-__japan+unsubscribe@__googlegroups.com
            メールを送信してください。
            詳細については、http://groups.google.__com/group/android-group-japan?__hl=ja
            <http://groups.google.com/group/android-group-japan?hl=ja> からこのグループにアクセスし
            てください。



    --
    このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
    このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msg/android-group-
    japan/-/OJmb6uwyuPIJ にアクセスしてください。

    このグループに投稿するには、android-group-ja...@googlegroups.com
    <mailto:android-group-japan@googlegroups.com> にメールを送信してください。
    このグループから退会するには、android-group-japan+unsubscribe@googlegroups.com

    <mailto:android-group-japan%2Bunsu...@googlegroups.com> にメールを送信してください。
    詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアク
    セスしてください。



--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。
このグループから退会するには、android-group-japan+unsubscribe@googlegroups.com にメールを送信してく

ださい。
詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセス
してください。

--
山本三七男 (Minao Yamamoto) ---------------- ハンドル:たろサ -----
E-Mail: taro...@gmail.com
--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
Reply all
Reply to author
Forward
0 new messages