前回の.netチョーお手軽Jpeg保存では サブサンプリング4:2:0で水平垂直共に色差間引きされ、 量子化係数テーブルはJFIFのQ=75変換だった。 エンコーダ・パラメータ指定でJpeg保存するとどうなるのか? . . . 本文を読む
前回はVB.netでTiff保存したが、今回はJpeg保存してみる。 目標は「カラーBMP画像ファイルを読み込んで画面表示し、 それをカラーJpegファイルとして保存する」だ。 . . . 本文を読む
前回の自力Tiffファイル化プログラムのヘッダデータ用配列作成で、 当初UShort型やUInteger型を使ったら大失敗。 なんぼやっても表示可能なTiffファイルにならない。 VB.netの闇が存在していたからである。 . . . 本文を読む
前回まではVB.netの機能をまんま使ってTiffファイル化していたが、ちょっと根性を入れれば自力でTiffファイル化できる。・・・が、そこにも気が付けばVB.netの闇が潜んでいた。 . . . 本文を読む
Bitmapクラスの作成方法の違いによる動作の差異を現象面から原因を考えると Dim PicBmp As Bitmap & PicBmp = PicBox.ImageでBitmapを作った場合、 Bitmapのデータは新たに複製・設定されるのではなく、 指定したPictureBoxのImageへの「参照」が設定されると考えると合点が行く。 (今のところ実際そうだという確たる証拠は無いんだけど) で、PictureBoxに表示中の画像と同じ(Pixel Formatを含めて)データを持つ Bitmapを新規に(PictureBoxのImageとは独立して)確保するにはどうするか? . . . 本文を読む
Bitmap作成方法の違いによる動作の差異の原因について考えてみたい。この違いと理由を明確に解説した情報は見つからなかったので、あくまでもアバウト~な推察なのではあるのだが・・・ . . . 本文を読む
さて、Bitmapクラスの宣言・確保の手法を変えたらDisposeできないって、 何が変わってしまったのだろう。 前回のコードをビルド&実行するとエラー(例外)が発生するが、 このときPictureBoxの表示は×表示になる。 Bitmapの天地をひっくり返すコードを付け加えて比較してみた。 . . . 本文を読む
さて残る問題はどーせだったら 「Bitmapクラスを24bitRGBで確保・処理したい」 ということなのだが、これがうまくいかない。 24bitRGBのPixelFormatのBitmapになったと思ったら このBitmapがDisposeできない・・・ . . . 本文を読む
当初、前回のプログラムで作ったTiffがなぜ一部のソフトで表示できないのかわからなかったが、ピクセルフォーマットを確認すると頼んだわけでもないのにBitmapクラスに移管したとたんに32bitARGBになっていることがわかった。 (いよいよ.netのドロ沼である) それじゃぁ・・・ということで、前回のプログラムに“24bitRGB指定”を加えた。 . . . 本文を読む