水平翻转 TPath 形状数据
Flip TPath shape data horizontally
如何翻转TPath形状组件数据?我已经加载了一个SVG图像的路径数据,但是形状被翻转了,我想水平翻转它。
我尝试使用 Canvas.CopyRec
方法,但我想那是 VCL 方法。
var src, dest: TRect;
begin
dest:=bounds(0, 0, image1.Picture.Width, image1.Picture.Height);
//src:=rect(0, image1.Picture.Height-1, image1.Picture.Width-1, 0); // Vertical flip
//src:=rect(image1.Picture.Width-1, 0, 0, image1.Picture.Height-1); // Horizontal
flip
src:=rect(image1.Picture.Width-1, image1.Picture.Height-1, 0, 0); // Both flip
image1.Picture.Bitmap.Canvas.CopyRect(dest, image1.Picture.Bitmap.Canvas, src);
我正在使用 Firemonkey 和 Delphi 10.3.2
水平翻转的简单解决方案可以通过组件 TPath.[=12= 的 属性 Scale.X 中的负值来实现]
Path1.Scale.X := -1;
垂直翻转使用path1.Scale.Y := -1;
如何翻转TPath形状组件数据?我已经加载了一个SVG图像的路径数据,但是形状被翻转了,我想水平翻转它。
我尝试使用 Canvas.CopyRec
方法,但我想那是 VCL 方法。
var src, dest: TRect;
begin
dest:=bounds(0, 0, image1.Picture.Width, image1.Picture.Height);
//src:=rect(0, image1.Picture.Height-1, image1.Picture.Width-1, 0); // Vertical flip
//src:=rect(image1.Picture.Width-1, 0, 0, image1.Picture.Height-1); // Horizontal
flip
src:=rect(image1.Picture.Width-1, image1.Picture.Height-1, 0, 0); // Both flip
image1.Picture.Bitmap.Canvas.CopyRect(dest, image1.Picture.Bitmap.Canvas, src);
我正在使用 Firemonkey 和 Delphi 10.3.2
水平翻转的简单解决方案可以通过组件 TPath.[=12= 的 属性 Scale.X 中的负值来实现]
Path1.Scale.X := -1;
垂直翻转使用path1.Scale.Y := -1;