Bilder innerhalb Access mit echtem Zoom
Sonntag 30. November 2008 von Andreas Vogt
Im Beitrag “Bilder in Access” hatte ich es ja kurz angesprochen wie man einen echten Bilderzoom realisieren kann. Ich hab mir heute mal 1,5 Stunden Zeit genommen und das mal ausprobiert was für mich in der Theorie schon klar war.
Also, man suche ein freies JavaScript für einen Bilderzoom das einem gefällt, und “bastelt” damit per Output-Stream eine HTML-Datei, die man per Webbrowser-Control anzeigen lassen kann.
Siehe dazu der Beitrag über das Webbrowser-Control.
Hier mal ein kurzer Blick in den VBA-Code:
Open CurrentProject.Path & "\index.html" For Output As #1
Print #1, "<!DOCTYPE HTML PUBLIC " & Chr(34) & "-//W3C//DTD HTML 4.0 Transitional//EN" & Chr(34) & ">"
Print #1, "<!-- saved from url=(0013)about:internet -->"
Print #1, "<html>"
Print #1, "<head>"
Print #1, "<script language=" & Chr(34) & "JavaScript1.2" & Chr(34) & ">"
Print #1, "var zoomfactor=0.05; //Enter factor (0.05=5%)"
Print #1, "function zoomhelper(){"
Print #1, " if (parseInt(whatcache.style.width)>10&&parseInt(whatcache.style.height)>10){"
Print #1, " whatcache.style.width = parseInt(whatcache.style.width) + parseInt(whatcache.style.width) * zoomfactor * prefix"
Print #1, " whatcache.style.height = parseInt(whatcache.style.height) + parseInt(whatcache.style.height) * zoomfactor * prefix"
Print #1, " }"
Print #1, "}"
Bei JavaScript ist peinlich genau auf die korrekte Schreibweise zu achten, kein Fehler wird einem dabei verziehen. Vorallem bei der Groß-/Kleinschreibung – JavaScript erfordert immer Kleinschreibung der Schlüsselwörter. Also ein style.Width funktioniert schon nicht mehr, richtig wäre hier style.width.
Für meinen Bilderzoom habe ich das Script von javascriptkit.com verwendet, welches man hier bekommt: http://www.javascriptkit.com/script/script2/imagezoom.shtml
Weiterhin wichtig ist die Ermittlung der Bildgröße Breite/Höhe in Pixeln.
Dazu dieser Code, der breite und höhe in globale Variablen schreibt:
Private Sub getPictureProperties(bild As String)
Dim H As Double
Dim W As Double
Dim verhaeltnis As Double
W = LoadPicture(CurrentProject.Path & "\" & bild).Width
H = LoadPicture(CurrentProject.Path & "\" & bild).Height
W = (W * 96) / 2540
H = (H * 96) / 2540
breite = Round(W, 0)
hoehe = Round(H, 0)
End Sub
Obiger Code geht aber nur mit jpg, gif und bmp Bildern.
Jetzt fehlt noch ein bisschen Drum herum, eine Tabelle mit den Bild-Informationen und ein Formular mit dem Webbrowser-Steuerelement.
Wer jetzt aber an der Umsetzung scheitert, der kann von mir meine Test-Anwendung mit ein Paar Bildern kostenlos bekommen. Einfach per Email anfragen.
AV 2008
Dieser Beitrag wurde erstellt am Sonntag 30. November 2008 um 15:46:19 und abgelegt unter ActiveX Controls, VBA Code. Kommentare zu diesen Eintrag im RSS 2.0 Feed. Sie können einen Kommentar schreiben, oder einen Trackback auf Ihrer Seite einrichten.
PDF Version
Samstag 20. Dezember 2008 um 23:04:27
Hallo,
ich will auf meiner Seite Berechnungsbeispiele anzeigen (jpg oder auch pdf), auf der Übersichtsseite mehrere. Bei drauklicken oder “drüberfahren” soll das Beispiel gr0ß und damit lesbar erscheinen. wie realisier ich das am besten?Liebe Grüße Klaus
Admin-Edit:
Hallo Klaus,
in diesem Blog geht es nicht um Webtechniken sondern um Datenbanksysteme.
Bitte werde dich doch an ein einschlägiges Forum.
Gruß Andreas