我尝试用VCL重写一个FMX项目。
FMX中QR码绘图代码:
for Column := 0 to QRCode.Columns - 1 do
begin
if QRCode.IsBlack[Row, Column] then
QRCodeBitmap.ClearRect(TRectF.Create(PointF(Column, Row) * Scale,
Scale, Scale), TAlphaColors.Black);
end;
如何在VCL中替换QRCodeBitmap.ClearRect()
?
我试着这样做:
if (QRCode.IsBlack[Row, Column]) then
begin
QRCodeBitmap.Canvas.Pixels[Column, Row] := clBlack;
end else
begin
QRCodeBitmap.Canvas.Pixels[Column, Row] := clWhite;
end;
但它并不像我想要的那样工作。
1条答案
按热度按时间r7xajy2e1#
FMX中的
TBitmap.ClearRect()
方法用颜色填充矩形区域。在VCL中,您可以使用
TBitmap.Canvas.FillRect()
方法执行相同的操作,其中填充颜色在TBitmap.Canvas.Brush.Color
属性中指定,例如: