
行き詰ったので質問させてください。
TIFファイル画像があり、それに文字を組み込みたいため以下のようなソースを書きました。
BufferedImage image = null;
image = ImageIO.read(file);
Graphics graphics = image.createGraphics();
graphics.setColor(Color.RED);
graphics.setFont(new Font("MSゴシック", Font.BOLD, 100));
graphics.drowString("TEST",100,200);
ImageIO.write(image,"tif", new File(file.toString()));
画像には「TEST」の文字が組み込まれたのですが、ファイルサイズが
50kbから500kb(約10倍)になり、サイズ変化させたくなかったため対策
を練ってます。
JPEGEncoderParamクラスなどを利用し、setQualityメソッドで画質を変えた
りもしたのですが、それでも元画像の7倍ほどになり、他の方法を取らざるを得ません。
画像のサイズは元サイズとほぼ変わらないような方法で、プログラムを組むことは
できますでしょうか。ちなみに画像は白黒です。
以上、お力添えください。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
tiffの扱いはあんまり知らないけど、wikiによれば、「TIFFファイルでは、画像データの先頭部分に記録形式についての属性情報が記録される。
」なので、実際の画像の形式が何なのかによって、ファイルサイズは大きく変わるようです。jpegやpng は2色しか使って無くても、1ドットにつき16から24ビット使うので、たとえ圧縮してもファイルサイズは大きくなります。
で、2色しかないなら、ビットマップの白黒モード+圧縮で保存するのがもっともサイズが小さいと思うけど、java でその書き込みができたか不明。
>JPEGEncoderParamクラスなどを利用し、
これだとたぶんtiffの中身もjpegになるし、tiff用の情報付加により、通常のjpeg保存よりもさらに大きいファイルになるようです。
以下のページをさらっと読んだかぎりでは、内部画像をBufferedImage.TYPE_BYTE_BINARY で2値画像で保持してれば、いけるかな???
http://hondou.homedns.org/pukiwiki/pukiwiki.php? …
無理なら、windowsのペイントで作っちゃうのが早そうな気がする。
ペイントで作るときも、先に一旦モノクロビットマップで保存しておいてから、保存時ファイル形式をtiffに変更して再保存としないと、tiffの中身は、多色ビットマップで保存されちゃったり、gifやpngだったりしてファイルサイズは大きくなるので要注意。
No.1
- 回答日時:
Javaでは標準でTIFF形式のファイル書き込みはできなかったと記憶しています。
TIFと言う拡張子の別のファイル形式になっていませんか?
この回答への補足
回答ありがとうございます。
TIFへの書き込み及び読み込みはImageIO.getReaderFormatNamesメソッドの結果から対応可能となっております。
graphicsクラスを用いない別の方法でも構わないので、文字を画像に埋め込んで、それを元のサイズに近い状態で画像を保存する方法について、もしご存知でしたらご教示ください。よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- HTML・CSS CSSでサイトの背景に画像を組み込みたいのですが反映されません 2 2022/11/22 16:21
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- HTML・CSS ブロックエディターで作りつつ、画像を挿入しつつ、画像にスタイルシートのコードを付ける方法はありますか 1 2022/08/23 18:46
- PHP imageフォルダに、画像をリサイズして保存する時のファイル名を変更したい 1 2023/05/30 11:39
- PHP $filePath = './user_img/' . $file['name'];? 1 2022/12/10 07:29
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- デジタルカメラ 画像ファイルのサイズを理解する方法についてお教えください。 3 2022/09/18 12:54
- フリーソフト 倍率自動調整して全画面表示できるフリーの画像ビューアー 1 2023/08/24 10:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
iphoneで虫眼鏡の作り方
-
JavaScriptを使用せず画像をラ...
-
拡張子php画像をjpg画像等に変...
-
画像アップロードの拡張子制限
-
VBSの「MsgBox」について
-
GDI+を使ったビット数とDPIの扱い
-
クリックされた画像URLの照合
-
Illustratorで文字と画像を流し...
-
画像リストを作りたい
-
gifアニメションの表示について
-
BLOBデーターの画像の表示方法...
-
DBに格納された画像データを縮...
-
PHP MySQLに画像を直接保存
-
imagejpegで表示されない。
-
PHP echo バックスラッシュの使...
-
VBAでJPGサイズ変更
-
手作業で埋め込んだ、UserForm1...
-
【PHP】サーバー上で TIFFをJPE...
-
JSPにてMySQLのBLOB型の画像の...
-
5~10秒間隔で画像を表示する方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBSの「MsgBox」について
-
拡張子php画像をjpg画像等に変...
-
Illustratorで文字と画像を流し...
-
php,mysqlにて画像パス保存/表...
-
透過PNGが透過されない!!
-
GDI+を使ったビット数とDPIの扱い
-
iphoneで虫眼鏡の作り方
-
SQLiteに画像を格納したい
-
PythonのTkinter詳しい方へ。画...
-
C# Excelファイルへの画像挿入。
-
VBAでJPGサイズ変更
-
ビットマップ画像を読み込むプ...
-
同階層にある画像ファイルの数...
-
BLOBデーターの画像の表示方法...
-
手作業で埋め込んだ、UserForm1...
-
imageフォルダに、画像をリサイ...
-
最も速い画像合成処理を教えて...
-
PHPで吐き出した画像にリンクを...
-
Apache,phpで画像が表示されない
-
phpMyAdminに画像を保存できない
おすすめ情報