社区
GAME,图形处理/多媒体
帖子详情
问题不难,但是我以前没做过:图像按比例缩放问题
hellolongbin
2005-02-23 05:00:57
图像格式为jpg和gif,客户要求是:得到图像的高度和宽度,然后比较两者的值,将较大的一个设为100,另一个按比例缩小,最后另存为gif格式,因为以前没做过图像方面的东西,所以请高手指点。
...全文
281
20
打赏
收藏
问题不难,但是我以前没做过:图像按比例缩放问题
图像格式为jpg和gif,客户要求是:得到图像的高度和宽度,然后比较两者的值,将较大的一个设为100,另一个按比例缩小,最后另存为gif格式,因为以前没做过图像方面的东西,所以请高手指点。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hellolongbin
2005-03-08
打赏
举报
回复
顶1
hellolongbin
2005-03-08
打赏
举报
回复
这分让我怎么给呢?
hellolongbin
2005-02-28
打赏
举报
回复
不抱希望了
无法从楼上楼上楼上牛人的话中学到任何东西,对这方面懂的太少,讲的又太深
jpg的优化缩放我也实现了,只差gif的算法了
Allblus
2005-02-28
打赏
举报
回复
BMP缩放还是容易找到。
herman~~
2005-02-25
打赏
举报
回复
楼上牛人
ehom
2005-02-25
打赏
举报
回复
问题不难,关键你缺乏必要基础,而且还未掌握如何使用google,MSDN等.
重取样都是针对位图的,说白了就是矩阵放缩.
如果用StretchBlt,还有个API SetStretchBltMode可用,它可以改变StretchBlt的放缩模式,具体可查MSDN
如果使用GDI+,可以使用的重取方式就更多了,不过也只是线性重取样.效果一般.自己写,可以使用的方法就更多了.不过有些是受专利保护的,实现细节难搞清楚.
jpeg->gif还涉及到24位色量化成8位色的问题,网上也很容易找到现成方法,用八叉树做色彩量化生成调色板.然后查找调色板得到最接近颜色配合抖动算法实现色彩转换.效果还行就是效率稍差.
利用网上能找到的资料可以基本实现你的要求,想做的完善,只能自己研究摸索.
hellolongbin
2005-02-25
打赏
举报
回复
所以还是求jpg和gif缩放的源码,一个100,解决了另开贴送分
hellolongbin
2005-02-25
打赏
举报
回复
其实发贴当天我就找到处理方法了,我用了一段bmp缩放代码,先把要处理的文件批量转换为bmp文件,然后执行我的程序进行缩放,最后批量转为gif文件,但这样做失真太厉害,原来的线转换完就成立一些点,客户不满意,所以还是求jpg和gif缩放的源码,一个100,豁出去了
hellolongbin
2005-02-25
打赏
举报
回复
晕
还是不懂
这个问题很难么?
ehom
2005-02-24
打赏
举报
回复
>>你的方法只能改变图像显示大小,无法改变图片大小的
本质上是一回事,改变图像大小就把缩小的图像画到DIB上,而非DDB
GDI都是同一个StretchBlt
其实大学本科阶段的课本里包括了做图像放缩所需要的全部知识,能靠自己领悟出实现思路也不是问题
YAMABACK
2005-02-24
打赏
举报
回复
缩放如果使用image的strech属性的话就转化为缩放image控件的大小了(当strech属性为true的时候,图片充满image控件)
hellolongbin
2005-02-24
打赏
举报
回复
晕死我了,人呢???????
hellolongbin
2005-02-24
打赏
举报
回复
没有高手在么?急啊!!!
hellolongbin
2005-02-24
打赏
举报
回复
动态载入的问题已经解决了,继续期待缩放问题解决方法,分少可以另开贴再送,我不是小气的人,虽然可用分一直没上过300
糖醋鼻子
2005-02-24
打赏
举报
回复
USES
JPEG以后,CREATE一个JPEG实例,然后载入图片,最后和BITMAP关联
火猴
2005-02-24
打赏
举报
回复
jpg的大小在文件头里面有,下面是我读取bmp文件的宽和高的代码, 你找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;
火猴
2005-02-24
打赏
举报
回复
加入单元jpeg即可
hellolongbin
2005-02-24
打赏
举报
回复
没有人看到么?
hellolongbin
2005-02-24
打赏
举报
回复
楼上的,你的方法只能改变图像显示大小,无法改变图片大小的
虽然已经预料到人气不会旺,但还是很郁闷,真要对delphi版失望了
hellolongbin
2005-02-23
打赏
举报
回复
另外为什么我这句话执行的时候报错呢:
if OpenDialog1.Execute then Image1.Picture.LoadFromFile(OpenDialog1.FileName);
提示错误是:Unknown picture file extension (.jpg)
我选的jpg文件啊
OpenCV
图像
处理基础——基于C++实现
OpenCV
图像
处理基础——基于C++实现版本视频培训课程概况:教程中会讲解到OpenCV的基础知识及使用方法,并基于OpenCV实现基础的
图像
处理算法;除此之外课程包含如下的内容:
图像
颜色空间及类型转换及应用(BGR、YUV、YCrCb颜色空间、人像肤色检测)、
图像
直方图及其应用(直方图均衡化、色阶及对比度调节)、
图像
几何变换(平移、翻转、
缩放
等)、
图像
滤镜操作(卡通特效、畸变
图像
、马赛克)、
图像
滤波处理(人像磨皮、美颜)、
图像
形态学操作、多尺度及
图像
金字塔及视频操作处理等。下方的拓扑图给出了课程的章节目录及每一章中各个小节涉及到的主要内容:
OpenCV与
图像
处理学习四——
图像
几何变换:平移、
缩放
、旋转、仿射变换与透视变换
OpenCV与
图像
处理学习四——
图像
基本操作(中)二、
图像
的几何变换2.1
图像
平移2.2
图像
缩放
(上采样与下采样) 续上次的笔记:OpenCV与
图像
处理学习三——
图像
基本操作(上) 这次笔记主要的内容是
图像
的几何变换:...
图像
缩放
算法
怎样计算
缩放
比例
? 有四种方法:1.对角线法,以对角线长度为准,其伸长者为放大,缩短者为缩小,其底边并行线即为新尺寸。2.计算器法,先输入欲
缩放
宽度,按除键,再输入原稿尺寸,再按%即得。3.
比例
尺法,将
比例
...
ImageView按照
比例
裁剪
缩放
图片,保持图片不变形失真
反正是很难满足要求。 如果要求不是特别高,我们可以通过ImageView的scaleType属性来控制图片加载裁剪
缩放
的效果;当我们的ImageView有最大宽度最大高度的时候,还可以配合adjustViewBounds属性来控制。 好了现在...
Windows:
缩放
设置及DPI
缩放
详解
再次遇到软件在显示器上不能显示完全的情况,同样的分辨率同样的软件,一台显示...造成这个原因的是在相同分辨率下其设置不同
缩放
比例
问题
导致,这里记录一下windwos系统如何设置
缩放
操作和
缩放
对应的技术点是什么。
GAME,图形处理/多媒体
1,183
社区成员
14,336
社区内容
发帖
与我相关
我的任务
GAME,图形处理/多媒体
Delphi GAME,图形处理/多媒体
复制链接
扫一扫
分享
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章