掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ScanLineで色(RGB)を取得してその色を加工塗布 (ID:40501)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
KHE00221様、解決しました。 ありがとうございます。 いただいたサンプルは1行だけのScanLineでしたのでまず1行づつ変色のテストをして成功しました。最終的には画像の回転がありますので違う行のデータを操作 する必要がありますので各行のデータを(技術的にはよくわからない状況ですが)試しに配列にしてみましたらうまくいきました。下記のテスト例はカラーをモノクロにして上下反転してみました。これができれば思ったことが実現できるはずですのでこれから実装したいと思います。いろいろ工夫してこの技を身につけたいと思います。ありがとうございました。 ///// bmp1.PixelFormat := pf24bit; bmp2.PixelFormat := pf24bit; setlength(abmprow1 ,h1); setlength(abmprow2 ,h1); for jy := 0 to h1-1 do aBMProw1[jy]:=bmp1.ScanLine[jy]; for jy := 0 to h1-1 do aBMProw2[jy]:=bmp2.ScanLine[jy]; for jy := 0 to h1-1 do //縦方向の繰り返し begin ky:=h1-jy-1; //上下反転のy座標 for ix := 0 to w1-1 do //横方向の繰り返し begin Rb := abmpRow1[jy][iX].R; Gb := abmpRow1[jy][iX].G; Bb := abmpRow1[jy][iX].B; brt:=trunc(rb*0.3+gb*0.59+bb*0.11); aBMProw2[ky][ix].R := brt; aBMProw2[ky][ix].G := brt; aBMProw2[ky][ix].B := brt; end; end; //最後にFORM1へコピー form1.Canvas.Draw(0,50,bmp2); bmp1.Free; bmp2.Free;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.