Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
VisualBasic Wie ImageMagick in VisualBasic 2008?
- Ersteller Geldmann3
- Erstellt am
max2k3
Lt. Commander
- Registriert
- Apr. 2003
- Beiträge
- 1.818
http://www.imagemagick.org/script/api.php du brauchst eine passende API sonst wirds zur qual ;P du könntest sie natürlich auch selbst schreiben und das CLI benutzen
- Registriert
- Feb. 2011
- Beiträge
- 14
Wird die bei der Installation von ImageMagick nicht, wenn Häckchen gesetzt automatisch mit installiert? Oder ist das wieder was anderes?
Was ich natürlich auch machen könnte, in Visual basic eine .bat erstellen und diese dann vom selbigen Programm im Hintergrund ausführen lassen. Ist aber eine schmutzige Lösung und es könnte theoretisch Schadcode injiziert werden...
Was ich natürlich auch machen könnte, in Visual basic eine .bat erstellen und diese dann vom selbigen Programm im Hintergrund ausführen lassen. Ist aber eine schmutzige Lösung und es könnte theoretisch Schadcode injiziert werden...
Zuletzt bearbeitet:
max2k3
Lt. Commander
- Registriert
- Apr. 2003
- Beiträge
- 1.818
es wird keine API automatisch installiert, bedenke aber dass auch die ganzen APIs in der regel nichts anders machen als die *.exe auszuführen mit den "generierten" parametern, außer es gibt für deine programmiersprache eine native API dafür
für VB seh ich jedenfalls eh keine API, aber es gibt .NET/C# eine, damit sollte es gehen, du wirst aber Code mischen müssen
für VB seh ich jedenfalls eh keine API, aber es gibt .NET/C# eine, damit sollte es gehen, du wirst aber Code mischen müssen
- Registriert
- Feb. 2011
- Beiträge
- 14
Ich habe jetzt ein echt komisches Problem festgestellt. Ich erstelle mit meinem Programm eine .bat Datei mit folgenden Inhalt.
Wenn ich nun versuche diese von meinem Programm erstellte Datei manuell auszuführen, passiert gar nichts. Es öffnet sich nur kurz CMD. Der Code scheint aber korrekt zu sein, wenn ich eine neue .bat Datei erstelle und dort den selben Text einfüge funktioniert das Script.
Kann es sein, dass Visual Basic die Datei irgendwie in einem anderen Format speichert als mein Text Editor und es deshalb nicht funktioniert?
Ich schreibe die Datei folgendermaßen
Ich sehe gerade, das eine ist UTF8 und das andere ANSI, ok, ich denke das kann ich ändern...
Edit: Jo habs hinbekommen,
Code:
convert C:\Users\Geldmann3\Pictures\1609.jpg C:\Testbild.png
Kann es sein, dass Visual Basic die Datei irgendwie in einem anderen Format speichert als mein Text Editor und es deshalb nicht funktioniert?
Ich schreibe die Datei folgendermaßen
Code:
My.Computer.FileSystem.WriteAllText("C:\TEMP.bat", "convert " & TextBox1.Text & " C:\Testbild.png", True)
Edit: Jo habs hinbekommen,
Code:
My.Computer.FileSystem.WriteAllText("C:\TEMP.bat", "convert " & TextBox1.Text & " C:\Testbild.png", True, System.Text.Encoding.Default)
Zuletzt bearbeitet:
max2k3
Lt. Commander
- Registriert
- Apr. 2003
- Beiträge
- 1.818
wenn du es schon so machst würd ich dir den tipp geben gar keine bat dateien zu verwenden sondern dir sozusagen den befehl in deinem code zusammenzubasteln und die exe direkt aufzurufen, so ist gewährleistet dass die *bat dateien nicht code enthalten der was ganz anderes macht als geplant. zudem hast du dann die möglichkeit einfacher die parameter dynamisch zu übergeben
- Registriert
- Feb. 2011
- Beiträge
- 14
Jetzt wo du es sagst, stimmt, so ist es wahrscheinlich besser! Wahrscheinlich werde ich es ändern.
Jetzt aber nochmal etwas anderes. Ich versuche gerade ein JPG Bild mit 5% zu komprimieren und zwar so.
Die .bat Datei ->>
Leider funktioniert das nicht. Wie wäre es richtig?
Jetzt aber nochmal etwas anderes. Ich versuche gerade ein JPG Bild mit 5% zu komprimieren und zwar so.
Die .bat Datei ->>
Code:
convert "C:\Users\Geldmann3\Pictures\Bild 2.png" -quality 5% "C:\Bilder\Billig 4.jpg"
max2k3
Lt. Commander
- Registriert
- Apr. 2003
- Beiträge
- 1.818
beschreibe mal den fehler und schau mal hier http://www.imagemagick.org/script/convert.php bwz. generell auf der seite nach der verwendung, könnte sein dass 5% evtl zu wenig ist
auch könnte es sein dass die batch falsch verarbeitet wird. d.h probier erst immer die funktionsfähigkeit des befehls mit der normalen eingabeaufforderung/cmd
auch könnte es sein dass die batch falsch verarbeitet wird. d.h probier erst immer die funktionsfähigkeit des befehls mit der normalen eingabeaufforderung/cmd
- Registriert
- Feb. 2011
- Beiträge
- 14
Die Seiten habe ich mir schon mehr oder weniger durchgelesen, leider sind dort alle Beispiele ohne Anführungszeichen.
In CMD wird folgende Fehlermeldung ausgespuckt.
Das war eine gute Idee. Die Datei existiert gar nicht. Doch ich kann mir nicht vorstellen, wie das passiert ist, denn ich habe sie in meinem Programm mit einem OpenFileDialog ausgewählt. Hmm, Geisterdateien... Das muss ich nochmal genauer untersuchen
Mit dem richtigen Dateinamen gehts.
---
Jetzt habe ich wieder mit meinem Programm eine TEMP.bat erstellt.
Das funktioniert in CMD tadellos, in meiner Batch Datei allerdings nicht mehr. Diesmal ist die Kodierung allerdings ANSI. Diese Zeile funktioniert in Batch Dateien nicht, das verstehe ich nicht.
In CMD wird folgende Fehlermeldung ausgespuckt.
Code:
Magick: unable to open image `C:\Users\Geldmann3\Pictures\Bild2.png': No such file or directory @ er
ror/blob.c/OpenBlob/2588.
Magick: unable to open file `C:\Users\Geldmann3\Pictures\Bild2.png' @ error/png.c/ReadPNGImage/3099.
Das war eine gute Idee. Die Datei existiert gar nicht. Doch ich kann mir nicht vorstellen, wie das passiert ist, denn ich habe sie in meinem Programm mit einem OpenFileDialog ausgewählt. Hmm, Geisterdateien... Das muss ich nochmal genauer untersuchen
Mit dem richtigen Dateinamen gehts.
---
Jetzt habe ich wieder mit meinem Programm eine TEMP.bat erstellt.
Code:
convert "C:\Users\Geldmann3\Pictures\Ichfinal.png" -quality 5% "C:\Bilder\Billig.jpg"
Zuletzt bearbeitet:
max2k3
Lt. Commander
- Registriert
- Apr. 2003
- Beiträge
- 1.818
die batch datei ist auch im pfad bei dem sich die convert.exe befindet? ansonsten musst du natürlich den kompletten pfad angeben:
zb:
"c:\programme\im\convert.exe" "C:\Users\Geldmann3\Pictures\Ichfinal.png" -quality 5% "C:\Bilder\Billig.jpg"
übrigens kannset die *.bat auch über CMD aufrufen, dann bekommst auch eine rückmeldung was schlief läuft
zb:
"c:\programme\im\convert.exe" "C:\Users\Geldmann3\Pictures\Ichfinal.png" -quality 5% "C:\Bilder\Billig.jpg"
übrigens kannset die *.bat auch über CMD aufrufen, dann bekommst auch eine rückmeldung was schlief läuft
- Registriert
- Feb. 2011
- Beiträge
- 14
Das mit CMD ist eine gute Idee, das ich den Pfad angeben muss sollte eigentlich nicht sein, da sich convert.exe im System32 Verzeichnis befindet und es sonst auch immer so funktioniert hat. Ich werde es trotzdem mal versuchen.
Ich habe es herausgefunden, es lag an dem "%" hinter quality. Ohne geht es, komisch dass das direkt in CMD noch geht, in einer Batch Datei so allerdings nicht mehr.
Aha, hängt wohl hiermit zusammen http://support.microsoft.com/kb/75634/de
Ergänzung ()
Ich habe es herausgefunden, es lag an dem "%" hinter quality. Ohne geht es, komisch dass das direkt in CMD noch geht, in einer Batch Datei so allerdings nicht mehr.
Aha, hängt wohl hiermit zusammen http://support.microsoft.com/kb/75634/de
Zuletzt bearbeitet:
Ähnliche Themen
VisualBasic
Mit VisualBasic emails versenden
- Antworten
- 19
- Aufrufe
- 4.956
- Antworten
- 1
- Aufrufe
- 1.922
- Antworten
- 0
- Aufrufe
- 926
- Antworten
- 0
- Aufrufe
- 933
- Antworten
- 10
- Aufrufe
- 1.308