您的位置:程序门 -> vb -> 多媒体



将图片转换成指定高宽和指定相素的jpg文件


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


将图片转换成指定高宽和指定相素的jpg文件[已结贴,结贴人:anyf]
发表于:2008-02-03 10:17:24 楼主
用vb如何才能将打开的比较大的图片缩放为指定高宽和指定相素的图片并输出保存为jpg文件
发表于:2008-02-03 11:18:471楼 得分:0
用picturebox控件的save方法就行了
发表于:2008-02-03 11:44:052楼 得分:0
vbscript code
[code=vbscript]'以下代码仅供参考 '将picture1中的图片缩放为picture2的宽度和高度后,保存为文件 d:\001.bmp option explicit private declare function stretchblt lib "gdi32" (byval hdc as long, byval x as long, byval y as long, byval nwidth as long, byval nheight as long, byval hsrcdc as long, byval xsrc as long, byval ysrc as long, byval nsrcwidth as long, byval nsrcheight as long, byval dwrop as long) as long private const srccopy = &hcc0020 ' (dword) dest = source private sub command1_click() dim rtn as long dim hdc1 as long, hdc2 as long hdc1 = picture1.hdc hdc2 = picture2.hdc rtn = stretchblt(hdc2, 0, 0, picture2.scalewidth, picture2.scaleheight, hdc1, 0, 0, picture1.scalewidth, picture1.scaleheight, srccopy) savepicture picture2.image, "d:\001.bmp" end sub private sub form_load() me.scalemode = 3 picture2.autoredraw = true picture1.picture = loadpicture"f:\资料\my pictures\001.bmp") end sub
[/code]
发表于:2008-02-03 15:02:123楼 得分:0
东方之珠的方法可行,不过图像分辨率变了,源图像是300dpi的,转换后变成72dpi的了,能否不改变分辨率了。
发表于:2008-02-03 15:32:414楼 得分:20
模式变了,缩放时使用halftone模式即可。
发表于:2008-02-03 16:06:135楼 得分:0
vbscript code
'以下代码仅供参考 '将picture1中的图片缩放为picture2的宽度和高度后,保存为文件 d:\001.bmp option explicit private declare function stretchblt lib "gdi32" (byval hdc as long, byval x as long, byval y as long, byval nwidth as long, byval nheight as long, byval hsrcdc as long, byval xsrc as long, byval ysrc as long, byval nsrcwidth as long, byval nsrcheight as long, byval dwrop as long) as long private declare function setstretchbltmode lib "gdi32" (byval hdc as long, byval nstretchmode as long) as long private const halftone = 4 private const srccopy = &hcc0020 ' (dword) dest = source private sub command1_click() dim rtn as long dim hdc1 as long, hdc2 as long hdc1 = picture1.hdc hdc2 = picture2.hdc call setstretchbltmode(hdc2, halftone) rtn = stretchblt(hdc2, 0, 0, picture2.scalewidth, picture2.scaleheight, hdc1, 0, 0, picture1.scalewidth, picture1.scaleheight, srccopy) savepicture picture2.image, "d:\001.bmp" end sub private sub form_load() me.scalemode = 3 picture2.autoredraw = true picture1.picture = loadpicture"f:\资料\my pictures\001.bmp") end sub
发表于:2008-02-05 10:21:046楼 得分:0
学习了~~~mark一下~~~


快速检索

最新资讯
热门点击