当前位置:编程学习 > VB >>

如何把jpg或bmp转成wmf格式文件

如何把jpg或bmp转成wmf格式文件 wmf --------------------编程问答-------------------- WMF没怎么用过,GDI+也不支持保存吗? --------------------编程问答-------------------- Private Sub Command1_Click()
    Dim pic As StdPicture
    Set pic = LoadPicture("F:\Picture\Show\aa6.jpg")
    SavePicture pic, "e:\1.bmp"
End Sub
--------------------编程问答-------------------- 晕,看错题目
这个应该使用GDI+ --------------------编程问答-------------------- 怎么会有这个要求,保存为wmf格式会不会丢失很多像素,这是个问题。另外wmf好像有32位深度的。 --------------------编程问答-------------------- 难道无人能解?
--------------------编程问答-------------------- WMF文件的数据结构以及将绘图保存为WMF图像的VB6代码
--------------------编程问答-------------------- WIA应该可以啦 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 谢谢chenjl1031 的热心,您所提到的这篇文章我早就看过了,可惜这只是针对于所画的图形,而不是已存在的图片。 --------------------编程问答-------------------- --------------------编程问答--------------------
引用 9 楼 yefm 的回复:
谢谢chenjl1031 的热心,您所提到的这篇文章我早就看过了,可惜这只是针对于所画的图形,而不是已存在的图片。

既然可以可以从内存保存为本地wmf,那你就没想过怎么读取本地的Bmp到内存,然后bitblt,再去保存为本地wmf?简单点用一个picturebox之类的读取bmp或jpg,然后hdc属性就可以使用啦…… --------------------编程问答-------------------- http://www.cppblog.com/techlab/archive/2005/11/25/1302.html?opt=admin --------------------编程问答--------------------
引用 9 楼 yefm 的回复:
谢谢chenjl1031 的热心,您所提到的这篇文章我早就看过了,可惜这只是针对于所画的图形,而不是已存在的图片。

对于别的位图类型图片,写入wmf后仍然是位图格式.

wmf就是一种描述型格式,里面实际上是一些绘图的元指令,同时也支持插入二进制的位图内容.

要保存为WMF的话可以用几个API简单地搞定,好象是playexxxxfile什么的,先调用一个创建WMF的API,再用这个API绘制进去,就可以了,但如果你的目的是减少大小的话,恐怕要失望了,因为位图内容并没有改变,只是换了一个包装. --------------------编程问答--------------------
文件格式转换有两类方法:

1  了解源文件和目标文件的格式规范,真正地进行数据格式转换。

   如果是这样做,那就不需要什么特殊的技巧,借助 VB 的也就是打开、读取、写入和关闭文件之类的操作。


2  借助控件或其他工具软件

    这类方法需要相应的控件或工具支持源或目标文件格式。

    在无法找到工具的情况下,也就只好硬着头皮解析文件了。
补充:VB ,  API
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,