有一个生成的图片,可以在windows下预览,但不能用loadpicture加载。
预览,估计够呛
图片下载地址:
http://d.ksxt.net/que/1.rar
用的是bmp扩展名,但实际上不是bmp格式的,我想问通过何种方式可以把此图片通过loadpicture加载,对于图像处理,一点头绪都没有。
注:这个图片实际就是进入vb后,自动存在剪贴板的那个图片,因为下载的文件大小会跟你的显示分辨率相同,可能会放大到无法分辨是什么东西,所以标注一下。
[解决办法]
lz是要把这个图片加载到哪里?窗体?picture?image?
我用画图另存可以加载,但是分辨率不好
[解决办法]
lz这样做
1。新打开vb
2。再打开画图(开始——〉程序——〉附件——〉画图),ctrl+v,看到图片了吧,
3。用放大镜放大,拖动画布到图的边
4。另存为 1.bmp
5。到vb加image控件,点picture属性,加载图片没有问题了
[解决办法]
测试
Private Sub Command1_Click()
Image2.Picture = LoadPicture("E:\test\3.bmp")
End Sub
成功
[解决办法]
该文件头没有BM标志,加上BM标志试一下。或者干脆用画图编辑程序,然后另存为BMP格式就是标准BMP文件了。
[解决办法]
LZ的图片用WINDOWS的画图板打开是如下图形:
[解决办法]
你这一大堆图片是怎么来的?都是相同情况吗?有可能对一个图片好用的方法对另一个图片不好用
[解决办法]
普通控件PictureBox、Image、PictureClip都不行,试试用高档控件:比如柯达专用控件等。
[解决办法]
主要原因是没有BMP文件头。
[解决办法]
原图文件头:
http://hi.csdn.net/attachment/200912/11/1002_1260509230BM7I.jpg
[解决办法]
可以编写程序加上这个BMP文件头
[解决办法]
[解决办法]
搞错了原图文件头如下,18楼是画图板另存为*.BMP的文件头:
[解决办法]
[解决办法]
KAO!
一直都不明白在 VB 启动前复制的文本,为什么老是在 VB 启动后就‘消失’了。
它这样做有何目的呢?
[解决办法]
[解决办法]
不是清空剪贴板,它是在剪贴板中放入了一个位图数据。
如楼主说的那种图片。
不明白 VB 为什么要这样做 ..............
楼主的 1.bmp 在我的电脑中打开,嘿嘿,有点漂亮、有点‘炫’:
[解决办法]
文件那么小,图片又那么‘炫’,也许是某种矢量图片格式的。
[解决办法]
我另存的不高也不宽,但是字节不差多少
[解决办法]
"因为下载的文件大小会跟你的显示分辨率相同,可能会放大到无法分辨是什么东西,所以标注一下。"
可能吗? 图片魔术 ? 下载下来就会变型 ?
既然你能看得到图片, 就把它保存为 .bmp .jpg 或 .gif 再LoadPicture不就好了吗?
[解决办法]
[解决办法]
头大
[解决办法]
[解决办法]
你这个图片是怎么整出来,原来的后缀是什么?
[解决办法]
图片是1024*768,但它没有几个像素。直接写屏得了(直接用API读取像素显示到PictureBox中).
[解决办法]
这图片确实很奇异:
在800*600显示模式下,看图片属性显示:
800 * 600
BMP 图象
在1024*768显示模式下,看图片属性显示:
1024 * 768
BMP 图象
[解决办法]
[解决办法]
[解决办法]
[解决办法]
[解决办法]
[解决办法]
[解决办法]
rtf中图片以两种方式存在,第一种方式是直接嵌入,第二种方式是作为ole对象嵌入
lz这些是哪一种,又是用什么方式获取,是否能从获取时下功夫?
[解决办法]
哦 原来这张图片有 AutoSize 的属性 领教了....^-^
[解决办法]
感觉这张图片象一张超级大的图标图片
[解决办法]
我昨天在VBGOOD将本贴转发,现在有大进展.VBGood的版主VBProFan给出了解析代码,我已经略做修改,除颜色有些差异,基本达目的,代码如下:
- VB code
Option Explicit Private Type udtRGB R As Byte G As Byte B As Byte End Type Private MyPixel(1 To 933 / 3) As udtRGBPrivate Sub Form_Load() Open "D:\新建文件夹\1.bmp" For Binary Access Read As #1 '奇异图片的路径 Get #1, 2, MyPixel Close #1 Me.ScaleMode = vbPixelsEnd SubPrivate Sub Form_Paint() Dim i As Byte Dim j As Byte For i = 1 To 16 For j = 1 To 16 PSet (i, 17 - j), RGB(MyPixel(j * 16 + i).R, MyPixel(j * 16 + i).G, MyPixel(j * 16 + i).B) 'PSet (j, 17 - i), RGB(MyPixel(i * 16 + j).R, MyPixel(i * 16 + j).G, MyPixel(i * 16 + j).B) Next j Next iEnd Sub
[解决办法]
我又改了一下,这回更加完美了:
- VB code
Option ExplicitPrivate Type udtRGB R As Byte G As Byte B As ByteEnd TypePrivate Const c_Size As Long = 934Private Const c_Redundant As Byte = 1Private MyPixel(1 To (c_Size - c_Redundant) / 3) As udtRGBPrivate Sub Form_Load() Open "C:\s.bmp" For Binary Access Read As #1 '奇异图片的路径 Get #1, c_Redundant + 1, MyPixel Close #1 Me.ScaleMode = vbPixelsEnd SubPrivate Sub Form_Paint() Dim i As Byte Dim j As Byte Const c_Width As Integer = 16 Const c_Height As Integer = 16 For i = 1 To c_Width For j = 1 To c_Height PSet (i, c_Height + 1 - j), RGB(MyPixel(j * c_Height + i).B, MyPixel(j * c_Height + i).G, MyPixel(j * c_Height + i).R) Next j Next iEnd Sub
[解决办法]
越南的网速太慢,重复发帖了,请斑竹帮我删掉重复的帖子,谢谢!
[解决办法]
Ding yi xia ...........
[解决办法]
支持~~~~~~~
[解决办法]
这是一个有吸引力的问题,再次顶下!
[解决办法]
完善了一下,并且搞了个好玩的东东:可以在不知道图片的宽度的情况下动态调整,人眼观察来寻找。
核心代码:(完整工程请到 http://www.vbgood.com/viewthread.php?tid=89736&page=1#pid494362 下载)
FileY = 0
Do While True
For x = 1 To HScroll1.Value
ImageY = c_MaxHeight + 1 - FileY
PSet (x, ImageY), RGB(MyPixel(FileY * HScroll1.Value + x).B, MyPixel(FileY * HScroll1.Value + x).G, MyPixel(FileY * HScroll1.Value + x).R)
If FileY * HScroll1.Value + x = UBound(MyPixel) Then
Exit Do
End If
Next x
FileY = FileY + 1
Loop
复制代码现在还有3个未解之谜:
1. 为什么最下边有几个彩色的点?
2. 画图是如何知道图片的宽度的?我的新版的程序对剩余字节也解不出什么有用信息,直接在图片文件里搜索 10H 也找不到。
3. 对59楼的图片,我的程序解出来的是灰度图,而画图确是彩色的,为什么?
[解决办法]
4. 为什么我解出来的最左边要补到最右边才和画图的一样?
[解决办法]
[解决办法]
没以前的激情了.....随他吧,嘿嘿.....
[解决办法]
我认为,根本原因是由于该图片的色深为32位造成的,VB的控件不支持色深为32的图片,要想用VB的控件显示,需要降低图片的色深到24或以下.
[解决办法]
我认为,根本原因是由于该图片的色深为32位造成的,VB的控件不支持色深为32的图片,要想用VB的控件显示,需要降低图片的色深到24或以下.
[解决办法]
这个文件根本就不是BITMAP格式。
是矢量图。Windows Metafile (.wmf),文件头格式
typedef struct _WindowsMetaHeader
{
WORD FileType; /* Type of metafile (0=memory, 1=disk) */
WORD HeaderSize; /* Size of header in WORDS (always 9) */
WORD Version; /* Version of Microsoft Windows used */
DWORD FileSize; /* Total size of the metafile in WORDs */
WORD NumOfObjects; /* Number of objects in the file */
DWORD MaxRecordSize; /* The size of largest record in WORDs */
WORD NumOfParams; /* Not Used (always 0) */
} WMFHEAD;
[解决办法]
[解决办法]
还以为矢量图是记录画图的方法,放大后不会模糊,原来只是简单的复制插值算法而已,汗
[解决办法]
[解决办法]
用PS全部处理被。
[解决办法]
学习