Kiyoshi Noda
unread,Jun 2, 2010, 12:40:23 AM6/2/10Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to 日本Androidの会
はじめまして、野田と申します。
SDカードに格納してあるZIPファイルから大きい画像(2100 x 1400)を取得する為に、
下記の記述を行い、画像のサイズを取得しようとしているのですが、
optionZip.outWidth(), optionZip.outHeight() 共に-1でした。
File file;
ZipFile zipFile;
Enumeration<ZipEntry> enumeration;
BitmapFactory.Options optionZip;
InputStream inputStreamZip;
file = new
File(Environment.getExternalStorageDirectory().getPath() + " ZIPファイル
");
zipFile = new ZipFile(file);
enumeration = (Enumeration<ZipEntry>)zipFile.entries();
optionZip = new BitmapFactory.Options();
optionZip.inJustDecodeBounds = true;
if (enumeration.hasMoreElements()) {
inputStreamZip =
zipFile.getInputStream(enumeration.nextElement());
BitmapFactory.decodeStream(inputStreamZip, null, optionZip);
}
小さい画像が入った別のZIPファイルでは問題ありませんが、大きい画像となる所得できなくなる模様です。
同様の画像をリソースから取得した際には問題ありませんでした。(下記ソース)
BitmapFactory.Options optionResource;
InputStream inputStreamResource;
optionResource = new BitmapFactory.Options();
optionResource.inJustDecodeBounds = true;
inputStreamResource = getResources().openRawResource(R.drawable.
[大きい画像] );
BitmapFactory.decodeStream(inputStreamResource, null,
optionResource);
恐らくInputStreamが正常に取得できていないのではないかと思います。
どなたか詳しい方がおられましたら、ご教示頂けますでしょうか。
以上、宜しくお願いします。