掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
画像の重ね合わせ (ID:22794)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
画像処理で、下書きの画像を指定しておき、その上に文字等を書き込めるよう に処理していますが、下書きの画像と描画した画像の重ねあわせで問題があり ます。 1.TImageコンポーネントを2枚重ね、下側のコンポーネントに下書き画像を 読み込ませておき、上側のコンポーネントを透過にしておき描画する。 →書込みの度に画像がチラつく。 2.描画は隠れたImageコンポーネントにしておき、表示するタイミングで表示 用のImageコンポーネントに下書きを書き、その上に描画した画像を重ねる。 with 表示用Image.Canvas do begin CopyMode := cmSrcCopy; StretchDraw(Rect,下書き画像); CopyMode := cmSrcAnd; CopyRect(Rect,描画した画像,Rect); end; →画像を重ねる際、"cmSrcAnd"では重なる部分の色がマージされ、描画したま まの色が再現されない。下書きが黒い箇所では書き込んだ画像が全く反映され ない。 3.背景の書込みまでは「2」と同じで、重ね合わせる画像のピクセルをループで 走査し色があれば表示用のImageコンポーネントに書き込む。 →MouseMoveのイベントで描画している為、その都度ループの処理が実行され ると時間がかかり、マウスの動きについて来れず、見た目がカクカクする。 (400×300Pixの為、都度120000回ループする。) 4.下書き画像をImageコンポーネントに読み込んでおき、そのまま描画する →消しゴム機能を使うと、下書きの画像まで消えてしまう。 長々と書き込んでしまいましたが、自分で試したパターンは上記の4通りです。 レイヤー機能を上手く実現するには何か方法がありますでしょうか?
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.