ここでの質問は、スレッド ビットマップ ペイントでのマージ ペイントの結果は、 TThread および古いバージョンの DELPHI を使用することに由来します。
オムニスレッド ライブラリが Delphi XE 7 に同梱されていることがわかりましたが、オムニスレッド ライブラリを使用してこのコードを記述しているときに、このタスクに使用するデザイン パターンを決定できません。TThreadとVCLを使用しているため、omnithreadを使用してTBitmapアクセスも制限されています。
私の経験では、並列ビットマップ処理中、vcl 内のペンはスレッドセーフではありません
現在のシングル スレッド コードは次のようになります。
for i:= 1 to mydatabasetable.recordcount do
begin
ReadSingleRecordfromTable(aDBrecord);
BuildViewData(aDBRrcord, aPolygon);
Paint2Bitmap(aTBitmap, aPolygon);
end;