图片加载到Canvas后,
如果才能保证加载为1:1比例,并且打印也是1:1的比例.我把像素转换为点数了的...但是预览后的图片不为1:1 感觉很大.....
我想可能是图片跟像素的换算问题..
如何控制呢?? 等待最佳答案....
如果才能保证加载为1:1比例,并且打印也是1:1的比例.我把像素转换为点数了的...但是预览后的图片不为1:1 感觉很大.....
我想可能是图片跟像素的换算问题..
如何控制呢?? 等待最佳答案....
调试欢乐多
; const intWidth, intHeigth:integer);
var
strBmpPath:string;
bmp:Tbitmap;
begin
DestroyImagePicture; //图片清空
strBmpPath:=marayBmpData[intBmpTag].strBmpAllFileName;
bmp := TBitmap.Create();
try
bmp.LoadFromFile(strBmpPath); mShowBmpData.intBmpTag:=intBmpTag; mShowBmpData.Bmp.Width:=intWidth;
mShowBmpData.Bmp.Height:=intHeigth; mShowBmpData.intWidth:=intWidth;
mShowBmpData.intHeigth:=intHeigth; mShowBmpData.Bmp.Left:=15;
mShowBmpData.Bmp.Top:=10; mShowBmpData.Bmp.Canvas.StretchDraw(Rect(0, 0, intWidth, intHeigth), bmp);
finally
bmp.Free;
end;
end;//这是我加载的图片的方法,
//用一个IMAGE就好了,你要多大的图片就设置多大的IMAGE的宽,跟高,
//再用mShowBmpData.Bmp.Canvas.StretchDraw(Rect(0, 0, intWidth, intHeigth), bmp);
//就好了
预览的时候可能没有向下面这样固定画布的尺寸,
mShowBmpData.Bmp.Left:=15;
mShowBmpData.Bmp.Top:=10;由于事控制打印的精确性。代码有点多,我再测试下 看看 。。
图片本身的像素为300dpi,长宽为70,150
我设置了IMAGE画布的长宽尺寸分别为 70,150,
预览后,看到的图片是模糊的,不清晰,
我想应该是跟像素有关,怎么来有效控制显示的尺寸1:1呢?
并且在不同显示器的DPI可能也不一样,代码如何实现...