图像格式为jpg和gif,客户要求是:得到图像的高度和宽度,然后比较两者的值,将较大的一个设为100,另一个按比例缩小,最后另存为gif格式,因为以前没做过图像方面的东西,所以请高手指点。
解决方案 »
- 如何取得WebBrowser所打开的网页的源码?
- 关于静态变量的定义
- 我想写本书《delphi程序员java转型手册》,大家看有没有必要。
- 简单的问题 -- 怎样调用外部程序
- 高分请教,在线等,接收打印机数据,利用并口转串口线
- 利用Text To Speech技术编程怎么达到金山词霸的效果
- 为Application添加了一个菜单项,如何捕捉该菜单项的点击事件?
- 使用QReport报表时的线宽问题
- 如何知道拨号网络是否连接?
- 请教在在DLL中的Form上加入ADO,在Form.Create是为什么会报'尚未调用coInitiailize’(使用的是Delphi5)
- 我的delphi出了点小问题,请帮忙看一下
- 找人协助完成项目(郑州)
if OpenDialog1.Execute then Image1.Picture.LoadFromFile(OpenDialog1.FileName);
提示错误是:Unknown picture file extension (.jpg)
我选的jpg文件啊
Procedure TMyPicture.GetFileInfo();
var
Ori: TFileStream;
buffer:LongInt;
begin
buffer:=0;
Ori := TFileStream.Create(mpFilePath, fmOpenRead);
//读宽度
Ori.Seek(18, soFromBeginning);
Ori.Read(buffer,4);
mpWidth:= buffer;
//读高度
buffer:=0;
Ori.Seek(22, soFromBeginning);
Ori.Read(buffer,4);
mpHeight:=buffer;
//读bit数
buffer:=0;
Ori.Seek(28, soFromBeginning);
Ori.Read(buffer,2);
mpBitCount:=buffer; FreeAndNil(Ori);
end;
JPEG以后,CREATE一个JPEG实例,然后载入图片,最后和BITMAP关联
虽然已经预料到人气不会旺,但还是很郁闷,真要对delphi版失望了
本质上是一回事,改变图像大小就把缩小的图像画到DIB上,而非DDBGDI都是同一个StretchBlt其实大学本科阶段的课本里包括了做图像放缩所需要的全部知识,能靠自己领悟出实现思路也不是问题
无法从楼上楼上楼上牛人的话中学到任何东西,对这方面懂的太少,讲的又太深
jpg的优化缩放我也实现了,只差gif的算法了