我正在捕获InkStrokes并且需要在背景中创建一个缩放的笔画位图图像。无论墨水的边界框有多大,捕获的图像都需要具有统一的大小。
例如,如果绘制原始墨水笔划,并且墨水画布上的边界框顶部/左侧为 100,100 且大小为 200,200,我希望墨水从新渲染位图的 0,0 处开始,即 50,50 大小(忽略现在笔画宽度的影响)。
我已经弄清楚如何缩放墨迹笔划(感谢StackOverflow),但不知道如何移动笔划。现在,似乎我必须创建一个InkCanvas大小的位图,渲染缩放后的墨水,然后将更大的图像裁剪为正确的大小。
我试过使用InkStroke.PointTranslate通过
var scaleMatrix = Matrix3x2.CreateScale(scale);
scaleMatrix.Translation = -offset; // top/left of ink stroke bounding box
stroke.PointTransform = scaleMatrix;
但坐标不正确。
非常感谢任何帮助。
慕的地8271018
慕标5832272
相关分类