MediaStore.Images.Media.insertImage での画像登録時の画質

1,507 views
Skip to first unread message

Koji Ohno

unread,
Feb 3, 2011, 9:46:34 PM2/3/11
to android-g...@googlegroups.com
こんにちは、大野と申します。

以下のようなコードで、JPEG画像をカメラディレクトリにコピーしたのですが、
コピー後の画像の画質が低くなってしまいます。
(116kBのファイルがコピー後は44kBになっています)

MediaStore.Images.Media.insertImage(mContext.getContentResolver(),
someJpegFilePath, "SomeImage","SomeImage");

どなたか、オリジナルの画質(というかファイルそのまま)で登録できる方法を
ご存じの方はいらっしゃいませんでしょうか?

---
大野 浩二

北澤幸啓

unread,
Feb 4, 2011, 1:34:43 AM2/4/11
to android-g...@googlegroups.com
こんにちは、北澤と申します。

http://www.adamrocker.com/blog/196/android_file_io.html

こちらに記載されているようにByteデータとして直接コピーしてみてはいかがでしょうか?


2011年2月4日11:46 Koji Ohno <s93...@gmail.com>:

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

--
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
□株式会社サーカムフレックス
■北澤 幸啓

■〒106-0032
□東京都港区六本木3-1-27 1-2F
■Tel: 03-6362-5383 Fax:03-5575-6909
□E-Mail: circumf...@gmail.com

□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■

Koji Ohno

unread,
Feb 4, 2011, 10:12:01 AM2/4/11
to android-g...@googlegroups.com
北澤様

大野です。

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

ちょっと説明が不足していてすみません。
単純にファイルをコピーするだけなら出来るのですが、
MediaStore.Images.Media.insertImage を使うと、galleryに登録してサムネイルを
作成してくれるので、その機能を使いたかったのです。

一旦Bitmapインスタンスを作成してから登録すると少し画質が良くなりましたが
オリジナルのものよりは落ちていました。


2011年2月4日15:34 北澤幸啓 <kitad...@gmail.com>:

Shinji Otsubo

unread,
Feb 4, 2011, 10:29:16 AM2/4/11
to android-g...@googlegroups.com
大野様

はじめまして、大坪と申します。

ギャラリーで見えるようにするだけなら、以下のように画像ファイルを
ContentResolver#insertで登録しちゃえば良いような気がしますがいかがでしょうか。

Uri uri = Uri.fromFile(new File("/sdcard/hoge.jpg"));

ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.TITLE,uri.getLastPathSegment());
values.put(MediaStore.Images.Media.DISPLAY_NAME,uri.getLastPathSegment());
values.put(MediaStore.Images.Media.MIME_TYPE,"image/jpeg");
values.put(MediaStore.Images.Media.DATA,uri.getPath());
values.put(MediaStore.Images.Media.DATE_TAKEN,System.currentTimeMillis());

Uri imageUri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,values);


2011年2月5日0:12 Koji Ohno <s93...@gmail.com>:

Koji Ohno

unread,
Feb 5, 2011, 8:29:52 AM2/5/11
to android-g...@googlegroups.com
大坪様

こんばんは、大野です。
返信ありがとうございます。

教えていただいた方法で、イメージしていた処理ができるようになりました!

大坪様、北澤様、ご協力ありがとうございました。


2011年2月5日0:29 Shinji Otsubo <shi...@ird.co.jp>:

Reply all
Reply to author
Forward
0 new messages