めもニャンだむ
junkiの日常雑感・日記・プログラミングのランダムメモ
July 31, 2005
[Delphi] VCL TBitmap Contour2
Contour
の変種で上下左右との差分を求める。
0, -1, 0 -1, 4, -1 0, -1, 0 / 1 + 127
の論理。
コードは
続きを読む
Posted by junki560 at
01:02
│
Comments(0)
│
TrackBack(0)
[Delphi] VCL TBitmap Sharpen
Contour
の生データをある割合で原画に重ねると
Sharpen
フィルタができる。
コードは
続きを読む
Posted by junki560 at
00:46
│
Comments(0)
│
TrackBack(0)
[Delphi] VCL TBitmap Contour
ここ
と同じ論理で
Contour
フィルタを作った。
コードは
続きを読む
Posted by junki560 at
00:22
│
Comments(0)
│
TrackBack(0)
[Delphi] VCL TBitmap ColorDepthReduction
TBitmap
の
PixelFormat
が
pf24bit
であるとき
pf8bit
に減色することを考える。
GDI+
のときとは違って、事実上
Delphi
標準の
TGifImage
クラスを使うことが出来る。
わたしの使っている
GIFImage.pas
は
Anders
Melander
氏の
ver.2.2
である。これの減色の際に使う量子化には
Octree
法を使っている。また、エラー拡散法にはいろいろ指定することが出来る。今回はこれを使って
TBitmap
の
pf24bit
--
>
pf8bit
にする手続きを作った。
図は
Original(pf24bit)
,
TBitmap
pf24bit
--
>
pf8bit
TGifImage
(dmNearest)
,
TGifImage(dmFloydSteinberg)
TGifImage
(dmStucki)
,
TGifImage(dmSierra)
TGifImage
(dmJaJuNI)
,
TGifImage(dmBurkes)
である。それぞれ、エラー拡散法により微妙な相違がある。いろいろな画像に対して試したところ
dmBurkes
が一番気にいったのでこれをデフォルトにした。
コードは
続きを読む
Posted by junki560 at
00:05
│
Comments(0)
│
TrackBack(0)
July 30, 2005
[Delphi] VCL TBitmap PaletteEntries
*.gif
ファイルを
TBitmap
にロードする関数と
pf8bit
のビットマップのパレットエントリを表示するビットマップを返す関数を作った。
コードは
続きを読む
Posted by junki560 at
00:35
│
Comments(1)
│
TrackBack(0)
[Delphi] VCL TBitmap TwoColorGrayScale
パレットの両端の色を設定できる
GrayScale
を作った。
GDI+
の
LinearGradientBrush
が使えないので、自前で線形補完してパレットエントリを作成した。
コードは
続きを読む
Posted by junki560 at
00:10
│
Comments(0)
│
TrackBack(0)
[Delphi] VCL TBitmap Contrast
Contrast
フィルタを作った。
コードは
続きを読む
Posted by junki560 at
00:05
│
Comments(0)
│
TrackBack(0)
July 29, 2005
[Delphi] VCL TBitmap Birghtness
Brightness
フィルタを作った。
コードは
続きを読む
Posted by junki560 at
00:56
│
Comments(0)
│
TrackBack(0)
[Delphi] VCL TBitmap BirghtnessHistogram
輝度のヒストグラムをあらわすビットマップを返す関数を作成した。
コードは
続きを読む
Posted by junki560 at
00:35
│
Comments(0)
│
TrackBack(0)
[Delphi] VCL TBitmap Emboss3
引き続き、
ここ
に相当する
Emboss3
フィルタ。
コードは
続きを読む
Posted by junki560 at
00:12
│
Comments(6)
│
TrackBack(0)
このページの上へ▲