ABOUT Visual Basic Programmieren Programmierung Download Downloads Tips & Tricks Tipps & Tricks Know-How Praxis VB VBA Visual Basic for Applications VBS VBScript Scripting Windows ActiveX COM OLE API ComputerPC Microsoft Office Microsoft Office 97 Office 2000 Access Word Winword Excel Outlook Addins ASP Active Server Pages COMAddIns ActiveX-Controls OCX UserControl UserDocument Komponenten DLL EXE
Diese Seite wurde zuletzt aktualisiert am 30.10.2000

Diese Seite wurde zuletzt aktualisiert am 30.10.2000
Aktuell im ABOUT Visual Basic-MagazinGrundlagenwissen und TechnologienKnow How, Tipps und Tricks rund um Visual BasicActiveX-Komponenten, Controls, Klassen und mehr...AddIns für die Visual Basic-IDE und die VBA-IDEVBA-Programmierung in MS-Office und anderen AnwendungenScripting-Praxis für den Windows Scripting Host und das Scripting-ControlTools, Komponenten und Dienstleistungen des MarktesRessourcen für Programmierer (Bücher, Job-Börse)Dies&Das...

Themen und Stichwörter im ABOUT Visual Basic-Magazin
Code, Beispiele, Komponenten, Tools im Überblick, Shareware, Freeware
Ihre Service-Seite, Termine, Job-Börse
Melden Sie sich an, um in den vollen Genuss des ABOUT Visual Basic-Magazins zu kommen!
Informationen zum ABOUT Visual Basic-Magazin, Kontakt und Impressum

Zurück...

Zwillings-Check

Zurück...


Anzeige

(-hg) mailto:hg_ispictureequal@aboutvb.de

Ob zwei Bilder bzw. die Inhalte zweier MSDN Library - VB StdPicturePicture-Objekte gleich sind, lässt sich nur über einen Vergleich der Bits und Bytes der beiden Bilder ermitteln. Da es ein wenig umständlich ist, in Visual Basic mit Speicher-Bitmaps zu hantieren, können Sie ab Visual Basic 6 auf ein VB-eigenes Hilfsmittel zurückgreifen: auf das MSDN Library - VB PropertyBagPropertyBag-Objekt. Sie können darin ein Picture-Objekt ablegen und den Inhalt des PropertyBag-Objekts als Byte-Array auslesen (siehe auch Bilder zu Bytes"Bilder zu Bytes"). Sie können zwei solche Byte-Arrays umgehend vergleichen, indem Sie sie in Strings konvertieren und diese dann vergleichen.

Public Function IsPictureEqual(Picture1 As StdPicture, _
 Picture2 As StdPicture) As Boolean

  Dim nPropBag As PropertyBag
  Dim nContents As Variant
  
  With New PropertyBag
    .WriteProperty "B", Picture1
    With New PropertyBag
      .WriteProperty "B", Picture2
      nContents = .Contents
    End With
    IsPictureEqual = CBool(CStr(.Contents) = CStr(nContents))
  End With
End Function

Eine Funktion auf dieser Basis zum Vergleich zweier Bild-Dateien erscheint vielleicht auf den ersten Blick überflüssig zu sein. Schließlich könnten Sie beide Dateien jeweils in einen String einlesen und diese beiden Strings direkt vergleichen. Das funktioniert allerdings nur, wenn die Bilder in beiden Dateien im gleichen Bildformat (BMP, JPEG, GIF) abgelegt sind. Es könnte sich aber auch bei der einen Datei um eine Datei mit einem Bild etwa im JPEG-Format handeln, bei der anderen Datei dagegen um ein Bild, das in Visual Basic von einer geladenen JPEG-Datei im BMP-Datei gespeichert worden ist. Die Datei-Inhalte unterscheiden sich eindeutig aufgrund der verschiedenen Bild-Formate voneinander. Werden jedoch beide Dateien in Picture-Objekte geladen, sind die Bild-Inhalte jedoch nach wie vor identisch.

Public Function IsPictureInFileEqual(FilePath1 As String, _
 FilePath2 As String) As Boolean

  IsPictureInFileEqual = IsPictureEqual(LoadPicture(FilePath1), _
   LoadPicture(FilePath2))
End Function

Und da wir schon einmal dabei sind, hier nun noch eine Funktion, die eine Bild-Datei mit einem Picture-Objekt vergleicht:

Public Function IsPictureInFileEqualToObject _
 (FilePath As String, Picture As StdPicture) As Boolean

  IsPictureInFileEqualToObject = _
   IsPictureEqual(LoadPicture(FilePath), Picture)
End Function

Modul modIsPictureEqual (modIsPictureEqual.bas - ca. 1 KB)


Artikel
Zum Download-Bereich dieses Artikel
Mail an den Autor dieses Artikels

KnowHow
Zur KnowHow-Übersicht

KnowHow-Themen
Themen - Allgemeines
Themen - Entwicklungsumgebung (VB-IDE)
Themen - Forms
Themen - Steuerelemente (Controls)
Themen - Grafik
Themen - Dateien
Themen - UserControls
Themen - Einsteiger-Tipps
Themen - Wussten Sie...?

Übersicht nach Titeln in alphabetischer Reihenfolge
Übersicht nach Erscheinungsdatum

Schnellsuche



Zum Seitenanfang

Copyright © 1999 - 2017 Harald M. Genauck, ip-pro gmbh  /  Impressum

Zum Seitenanfang

Zurück...

Zurück...

Download Internet Explorer