| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4679 人关注过本帖, 2 人收藏
标题:GDI+保存图片缩略图问题,请帮助修改程序.
只看楼主 加入收藏
不惑
Rank: 2
等 级:论坛游民
威 望:2
帖 子:569
专家分:13
注 册:2007-3-22
收藏(2)
 问题点数:0 回复次数:18 
GDI+保存图片缩略图问题,请帮助修改程序.
qLjzOmwz.rar (4.45 KB) GDI+保存图片缩略图问题,请帮助修改程序.


这是我写的一个保存图片缩略图的程序,90%以上的程序均为网上复制过来的经过修改的.
它可以用,但有一点小小的问题所以需要高手帮助修改.
现在的程序可以显示一个图片的缩略图(我设置为250*250大小),并把它保存为一个JPG格式的图片.但这个被保存的图片它就变成了250*250大小了,不足的图象部分会以灰色填补,我不知道为什么会这样.因为生成的缩略图大家都看到了,它是长方型的,不是正方型的,而且我现在的保存对象picture1的长和宽我也已经通过程序把它调整为自动适应大小.但保存下来的确是250*250的正方型.
我现在有三个问题,希望大伙帮助:
问题1:如何把我的程序修改一下,让它保存的图片为实际大小而不是250*250的正方型.
问题2:像素250在VB中的宽应该是多少?我现在是自己以接近的方式换算了一下,为就是乘上15.2但这不是正确的吧,正确的应该是多少呢?
问题3:我的程序已经在内存中生成了缩略图,好象应该就是这个gdip_Image,我能不能直接把这个东东保存下来?

上面这个程序我想有兴趣的初学者也可以下载下去学习一下的
搜索更多相关主题的帖子: 图片缩略 GDI 保存 方型 
2007-09-13 08:44
不惑
Rank: 2
等 级:论坛游民
威 望:2
帖 子:569
专家分:13
注 册:2007-3-22
收藏
得分:0 
对了,保存前请在D盘上建一个名为12的目录。
2007-09-13 08:51
不惑
Rank: 2
等 级:论坛游民
威 望:2
帖 子:569
专家分:13
注 册:2007-3-22
收藏
得分:0 
没人会改吗?一定是高手未出现。一般高手都是最后才出场的
2007-09-13 10:36
taihongbo
Rank: 1
来 自:山东临沂
等 级:新手上路
帖 子:127
专家分:0
注 册:2004-11-15
收藏
得分:0 

SavePicture 语句

从对象或控件(如果有一个与其相关)的 Picture 或 Image 属性中将图形保存到文件中。

语法

SavePicture picture, stringexpression

SavePicture 语句的语法包含下面部分:

参数 描述
picture 产生图形文件的 PictureBox 控件或 Image 控件。
stringexpression 欲保存的图形文件名。


说明

无论在设计时还是运行时图形从文件加载到对象的 Picture 属性,而且它是位图、图标、元文件或增强元文件,则图形将以原始文件同样的格式保存。如果它是 GIF 或 JPEG 文件,则将保存为位图文件。

Image 属性中的图形总是以位图的格式保存而不管其原始格式。


淘宝 毛绒玩具 熊
jstbobo.taobao. com
久顺通啵啵玩具店
2007-09-13 10:40
taihongbo
Rank: 1
来 自:山东临沂
等 级:新手上路
帖 子:127
专家分:0
注 册:2004-11-15
收藏
得分:0 

SavePicture 语句示例
本例使用 SavePicture 语句保存画在 Form 对象的 Picture 属性中的图形。要试用此例,可将以下代码粘贴到 Form 对象的声明部分,然后运行此例,单击 Form 对象。

Private Sub Form_Click ()
' 声明变量。
Dim CX, CY, Limit, Radius as Integer, Msg as String
ScaleMode = vbPixels ' 设置比例模型为像素。
AutoRedraw = True ' 打开 AutoRedraw。
Width = Height ' 改变宽度以便和高度匹配。
CX = ScaleWidth / 2 ' 设置 X 位置。
CY = ScaleHeight / 2 ' 设置 Y 位置。
Limit = CX ' 圆的尺寸限制。
For Radius = 0 To Limit ' 设置半径。
Circle (CX, CY), Radius, RGB(Rnd * 255, Rnd * 255, Rnd * 255)
DoEvents ' 转移到其它操作。
Next Radius
Msg = "Choose OK to save the graphics from this form "
Msg = Msg & "to a bitmap file."
MsgBox Msg
SavePicture Image, "TEST.BMP" ' 将图片保存到文件。
End Sub


淘宝 毛绒玩具 熊
jstbobo.taobao. com
久顺通啵啵玩具店
2007-09-13 10:41
不惑
Rank: 2
等 级:论坛游民
威 望:2
帖 子:569
专家分:13
注 册:2007-3-22
收藏
得分:0 
taihongbo
谢谢你的回复,不过我的程序不知道你看了没。
我的程序没用SavePicture,因为它只可以保存bmp
我保存的是jpeg
我认为其它方法与GDI+比都差了一点,所以我在研究这个东东,哈哈。只是水平有限,所以想请大家给予帮助。

[此贴子已经被作者于2007-9-13 11:36:42编辑过]

2007-09-13 11:17
不惑
Rank: 2
等 级:论坛游民
威 望:2
帖 子:569
专家分:13
注 册:2007-3-22
收藏
得分:0 
顶啊!
2007-09-13 14:40
不惑
Rank: 2
等 级:论坛游民
威 望:2
帖 子:569
专家分:13
注 册:2007-3-22
收藏
得分:0 
哎~~~!命苦啊,我的问题看来多半得自己解决了。
2007-09-14 07:30
心中有剑
Rank: 2
等 级:新手上路
威 望:5
帖 子:611
专家分:0
注 册:2007-5-18
收藏
得分:0 
问题1:如何把我的程序修改一下,让它保存的图片为实际大小而不是250*250的正方型.

这个 你保存 不要用显示的pic做 直接 用 loadpicture(file1)来保存

问题2:像素250在VB中的宽应该是多少?我现在是自己以接近的方式换算了一下,为就是乘上15.2但这不是正确的吧,正确的应该是多少呢?

这个你可以直接设置他的
Picture1.ScaleMode =3

还有建议你
form_load的时候加上
File1.Pattern = "*.jpg;*.bmp;*.ico"

这样你显示的就要你的图片了,其他文件就不用考虑了!

2007-09-14 12:47
不惑
Rank: 2
等 级:论坛游民
威 望:2
帖 子:569
专家分:13
注 册:2007-3-22
收藏
得分:0 
晕,直接 用 loadpicture(file1)来保存
保存的不是原图的大小了吗?还是不是缩略图了啊?
问题2谢谢你了啊。原来可以设置为像素形式的。
建议也谢谢了,我只是在研究这个程序和功能啦,如果实际使用那是肯定会设的了。

[此贴子已经被作者于2007-9-15 9:13:55编辑过]

2007-09-15 09:11
快速回复:GDI+保存图片缩略图问题,请帮助修改程序.
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027090 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved