加载图片到Canvas后尺寸打印比例问题

wanjianjun 2008-11-25 01:25:25
图片加载到Canvas后,
如果才能保证加载为1:1比例,并且打印也是1:1的比例.

我把像素转换为点数了的...但是预览后的图片不为1:1 感觉很大.....
我想可能是图片跟像素的换算问题..
如何控制呢?? 等待最佳答案....
...全文
113 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanjianjun 2008-11-27
  • 打赏
  • 举报
回复
没人来拿分啊....
wanjianjun 2008-11-26
  • 打赏
  • 举报
回复
测试了下,不可行啊..
图片本身的像素为300dpi,长宽为70,150
我设置了IMAGE画布的长宽尺寸分别为 70,150,
预览后,看到的图片是模糊的,不清晰,
我想应该是跟像素有关,怎么来有效控制显示的尺寸1:1呢?
并且在不同显示器的DPI可能也不一样,代码如何实现...
wanjianjun 2008-11-25
  • 打赏
  • 举报
回复
我再 打印的 时候事动态创建的 Canvas
预览的时候可能没有向下面这样固定画布的尺寸,
mShowBmpData.Bmp.Left:=15;
mShowBmpData.Bmp.Top:=10;

由于事控制打印的精确性。代码有点多,我再测试下 看看 。。
qkhhxkj102 2008-11-25
  • 打赏
  • 举报
回复


procedure TfrmPicHisData.ShowChangeBmp(const intBmpTag: integer
; 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);
//就好了
ASP组件AspJpeg(加水印)使用方法大全ASPJPEG是Persits出品的共享软件,它是一款功能相当强大的asp图象处理组件,用它可以轻松地做出图片的缩略图和为图片加上水印功能。 水印组件AspJpeg2.4.0.1 下面简单介绍一下使用方法: 您先要执行下载得到的exe文件,安装该组件. 检测是否注册成功的方法: 将以下代码保存为asp,拷贝在服务器上,用浏览器打开,看返回结果。 一、为图片添加水印 <% Dim Jpeg ''''//声明变量 Set Jpeg = Server.CreateObject("Persits.Jpeg") ''''//调用组件 Jpeg.Open Server.MapPath("aaa.JPG") ''''//源图片位置 Jpeg.Canvas.Font.Color = &H000000; ''''//水印字体颜色 Jpeg.Canvas.Font.Family = "宋体" ''''//水印字体 Jpeg.Canvas.Font.Size = 14 ''''//水印字体大小 Jpeg.Canvas.Font.Bold = False ''''//是否粗体,粗体用:True Jpeg.Canvas.Font.BkMode = &HFFFFFF; ''''//字体背景颜色 Jpeg.Canvas.Print 10, 10, "不败顽童工作室" ''''//水印文字,两个数字10为水印的xy座标 Jpeg.Save Server.MapPath("aaa_05.jpg") ''''//生成有水印的新图片及保存位置 Set Jpeg = Nothing ''''//注销组件,释放资源 Response.Write "" ''''//在该页显示生成水印后的图片 %> 二、生成缩略图 <% Dim Jpeg ''''//声明变量 Set Jpeg = Server.CreateObject("Persits.Jpeg") ''''//调用组件 Jpeg.Open Server.MapPath("aaa.JPG") ''''//原图位置 Jpeg.Width = Jpeg.OriginalWidth/4 ''''//设图片宽度为原图的四分之一 Jpeg.Height = Jpeg.OriginalHeight/4 ''''//设图片高度为原图的四分之一 Jpeg.Sharpen 1, 130 ''''//设定锐化效果 Jpeg.Save Server.MapPath("aaa_small.jpg") ''''//生成缩略图位置及名称 Set Jpeg = Nothing ''''//注销组件,释放资源 Response.Write "" ''''//在该页显示生成缩略图 %> aspjpeg组件高级使用方法介绍 aspjpeg是一款非常强大的图片处理组件,纯英文版本。不过早已经有免费版和破解版,但是对其进行详细与深入介绍的文章却是不多,即使有也只牵涉到图片缩略和图片水印。可能是因为纯英文的缘故。 这里我就是针对这些问题谈谈aspjpeg的高级用法。这里的技术主要包括: 图片缩略 图片水印 安全码技术 图片切割 图片合并 数据库支持 更多不常用的方法介绍 以及相关的一些实用技术 aspjpeg唯一点不足的就是输出方式比较单一。在这里,我们主要谈将图片处理保存后再调用的这种输出方法。另外,本人比较懒,所以有些代码仍然引用于原文档,不懂的地方偶会加以解释! 学过vb或者.net的同志肯定一看就明白了。刷子来着。呵呵。 一、图片缩略 html2canvas html截图插件图片放大清晰度解决方案,支持任意放大倍数,解决原插件图片偏移问题 Author:youzebin (2016.12.6)插件下载地址:https://github.com/niklasvh/h... 1.首先引入html2canvas.js html2canvas 0.5.0-beta4 最新版即可...

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧