You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Direct2D指定源矩形绘制Bitmap时图像过大问题求助

Direct2D绘制Bitmap指定源矩形时图像过大问题求助

我在使用Direct2D绘制Bitmap并指定源矩形时遇到问题,希望有人能指点解决方法。我参考了Embarcadero的Direct2D Canvas使用示例,现有一个自定义Direct2D加速控件,用于绘制256×256的Bitmap。

直接调用AcceleratedPaintPanel1.RenderTarget.DrawBitmap(FBitmapToPaint);时,绘制的图像尺寸正常(256×256像素)。但当指定源矩形后,绘制的第二张图像却出现过大的情况!我设置的源矩形尺寸与图像一致(256×256),完全无法理解为何会出现这种问题。这只是单张图像的简单示例,我的实际需求是从源图像中截取不同部分分别绘制,但所有使用源矩形的方法都会导致图像过大。

相关代码如下:

var
 D2D1RectF:TD2D1RectF;
begin
// 图像1 - 尺寸正常
AcceleratedPaintPanel1.RenderTarget.DrawBitmap(FBitmapToPaint); 

   D2D1RectF.left:= 256;
   D2D1RectF.top:= 0;
   D2D1RectF.right:= 512;
   D2D1RectF.bottom:= 256;

// 图像2 - 尺寸过大
AcceleratedPaintPanel1.RenderTarget.DrawBitmap(FBitmapToPaint, @D2D1RectF);

绘制效果对比截图:
Direct2D绘制对比:左侧为正常尺寸图像,右侧为过大的图像

内容的提问来源于stack exchange,提问作者serhiyiv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 17:39:24