- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
将c盘的文件读入图片框picture1中,
第二个d盘的文件读入图片框picture2中
用api函数可以获取屏幕上任意点的颜色值
你就把picture1的每一个像素点遍历一遍,
一个点一个点地与picture2比较
这种方法有些麻烦
但是就算是用现成的函数、语句,其思路也是这样的
也有办法就是直接比较两个文件的二进制码,这样比较快捷,但是如果是两张相同的图片分别用bmp和gif等不同格式保存,则此种方法比较会显示“不同”。
回答者:?Li_Zaodie?|?五级?|?2010-2-18 17:49
private function piccmp(f1 as string,f2 as string) as long
dim b,p as byte
dim n1,n2,l as long
l = filelen(f1)
if l filelen(f2) then exit function 比较文件大小
n1 = freefile
n2 = freefile
open f1 for binary as n1
open f2 for binary as n2 打开俩个文件
dim i as long
do
get n1,i,b
get n2,i,p
if p b then goto exitf
i = i +1
loop until i l
piccmp = true
exitf:
close n1
close n2
end function
private sub command1_click()
msgbox iff(piccmp(c:\a.jpg,d:\a.jpg),一样,两样)
end sub
回答者:?a|?五级?|?2010-2-18 18:43
如果两个图像文件是同样格式的,那就不要用传统的方法打开图像、加载图像什么的,因为我试验过,VB对图像的支持是很差的,图像太大或是格式太新,都没法正常加载的,所以,我觉的,如果只是判断两个图像是否一样,并且两个图像文件的格式相同的话,完全可以把两个图像文件当成一般的二进制文件打开,然后一个字节一个字节的对比……
Option Explicit
Private Sub Command1_Click()
Const CD = 1024 一次进行比较的字节数
Dim i As Long, j As Long, k As Long
Dim A As Long, B As Long, C As Long
Dim Sa(1 To CD) As Byte, Sb(1 To CD) As Byte
Dim Fa As String, Fb As String
Fa = e:\c.bmp 要比较的两个文件
Fb = e:\d.bmp
C = FileLen(Fa)
If C FileLen(Fb) Then
MsgBox 不一样,文件长度不同, ,
Exit Sub
End If
A = C \ CD
B = C Mod CD
Open Fa For Binary Access Read As #1
Open Fb For Binary Access Read As #2
For i = 1 To A
For j = 1 To CD
DoEvents
Get #1, , Sa(j)
Get #2, , Sb(j)
If Sa(j) Sb(j) Then
MsgBox 不一样,文件内容不同, ,
Exit Sub
End If
Next
Next
For j = 1 To B
Get #1, , Sa(j)
Get #2, , Sb(j)
If Sa(j) Sb(j) Then
MsgBox 不一样,文件内容不同, ,
Exit Sub
End If
Next
Close #1
Close #2
MsgBox 一样,
您可能关注的文档
最近下载
- 中粮集团-麦肯锡-人力资源管理(powerpoint 134页).ppt VIP
- 中国闲置经济行业市场发展前瞻及投资战略研究报告2025-2028版.docx
- Midea 美的 MM-ESC1510面包机 说明书.pdf
- 2025年锦州市古塔区面向社会公开招聘社区专职工作者72人备考试题及答案解析.docx VIP
- 企业中粮集团的培训体系建设与领导力模型.pptx VIP
- 2025至2030中国闲置经济行业发展趋势分析与未来投资战略咨询研究报告.docx
- 索尼CMT-M333NT 说明书.pdf VIP
- 生物制药工艺 紫杉醇的细胞工程制药 紫杉醇的细胞工程制药.pptx VIP
- 中药制剂现代化研究进展.ppt VIP
- 河南省青桐鸣大联考2023-2024学年高一上学期12月月考生物含解析.docx VIP
文档评论(0)