- Beiträge: 53
Base64 Bilddaten von JPG Format nach PNG umwandeln
- Nick
- Autor
- Offline
- Benutzer
Weniger
Mehr
4 Monate 2 Wochen her - 4 Monate 2 Wochen her #5098
von Nick
Base64 Bilddaten von JPG Format nach PNG umwandeln wurde erstellt von Nick
Hallo,
ich habe einen Base64-String welcher Bilddaten im jpg-Format enthält. Gibt es mit dem FlowHeater die Möglichkeit diesen jpg-String einen png-String zu konvertieren/umzuwandeln?
Viele Grüsse
Nick
ich habe einen Base64-String welcher Bilddaten im jpg-Format enthält. Gibt es mit dem FlowHeater die Möglichkeit diesen jpg-String einen png-String zu konvertieren/umzuwandeln?
Viele Grüsse
Nick
Letzte Änderung: 4 Monate 2 Wochen her von Nick.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
4 Monate 2 Wochen her #5101
von FlowHeater-Team
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
FlowHeater-Team antwortete auf Base64 Bilddaten von JPG Format nach PNG umwandeln
Hallo Nick,
das geht nicht direkt, aber mit Hilfe des .NET Script Heater und untenstehenden C# Skript kann das Problemlos umgesetzt werden. Im Anhang finden Sie ein kleines Beispiel dazu.
Hinweis: Damit das Skript Funktioniert muss im .NET Script Heater im Reiter „Erweitert“ unter DLLs folgender Eintrag hinzugefügt werden „system.drawing.dll“, siehe Screenshot.
Das Skript wandelt die Binären Bilddaten vom JPEG Format in das PNG Format um. Im Beispiel sind ein paar Base64 Heater hintereinander, diese werden im Prinzip nur verwendet im aus der Beispiel JPEG Datei (test.jpg) einen Base64 String zu erzeugen der dann wieder binär decodiert wird.
Schauen Sie sich mal das Beispiel an, ich denke Sie sollten damit klarkommen.
C# Skript um JPEG in PNG umzuwandeln
das geht nicht direkt, aber mit Hilfe des .NET Script Heater und untenstehenden C# Skript kann das Problemlos umgesetzt werden. Im Anhang finden Sie ein kleines Beispiel dazu.
Hinweis: Damit das Skript Funktioniert muss im .NET Script Heater im Reiter „Erweitert“ unter DLLs folgender Eintrag hinzugefügt werden „system.drawing.dll“, siehe Screenshot.
Das Skript wandelt die Binären Bilddaten vom JPEG Format in das PNG Format um. Im Beispiel sind ein paar Base64 Heater hintereinander, diese werden im Prinzip nur verwendet im aus der Beispiel JPEG Datei (test.jpg) einen Base64 String zu erzeugen der dann wieder binär decodiert wird.
Schauen Sie sich mal das Beispiel an, ich denke Sie sollten damit klarkommen.
C# Skript um JPEG in PNG umzuwandeln
Code:
public object DoWork()
{
MemoryStream msJPG = new MemoryStream((Byte[])InValues[0].GetValue());
System.Drawing.Image image1 = System.Drawing.Image.FromStream(msJPG);
MemoryStream msPNG = new MemoryStream();
image1.Save(msPNG, System.Drawing.Imaging.ImageFormat.Png);
return msPNG.GetBuffer();
}
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Nick
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 53
4 Monate 2 Wochen her #5103
von Nick
Nick antwortete auf Base64 Bilddaten von JPG Format nach PNG umwandeln
Hallo Herr Stark,
vielen Dank. Funktioniert perfekt mit einer jpg-Datei.
Die Eingangsdaten der jpg-Datei(en) liegen allerdings bereits als codierte Zeichenfolge in einer im Memory-Tabelle vor > Kann ich von hier aus direkt die Zeichenkette für png erzeugen?
Viele Grüsse
Nick
vielen Dank. Funktioniert perfekt mit einer jpg-Datei.
Die Eingangsdaten der jpg-Datei(en) liegen allerdings bereits als codierte Zeichenfolge in einer im Memory-Tabelle vor > Kann ich von hier aus direkt die Zeichenkette für png erzeugen?
Viele Grüsse
Nick
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
4 Monate 2 Wochen her #5105
von FlowHeater-Team
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
FlowHeater-Team antwortete auf Base64 Bilddaten von JPG Format nach PNG umwandeln
Hallo Nick,
woher die Daten kommen ist im Prinzip egal. Ich habe mal das Beispiel etwas angepasst. Im ersten Verarbeitungsschritt wird die JPEG Datei als Base64 in eine InMemory Adapter Tabelle eingelesen. Im zweiten Verarbeitungsschritt wird dann der Base64 String gelesen und in ein PNG Bilddatei umgewandelt. Über den File Heater wird die Datei einmal auf Festplatte geschrieben und zum anderen als Base64 String in eine Textdatei ausgegeben.
woher die Daten kommen ist im Prinzip egal. Ich habe mal das Beispiel etwas angepasst. Im ersten Verarbeitungsschritt wird die JPEG Datei als Base64 in eine InMemory Adapter Tabelle eingelesen. Im zweiten Verarbeitungsschritt wird dann der Base64 String gelesen und in ein PNG Bilddatei umgewandelt. Über den File Heater wird die Datei einmal auf Festplatte geschrieben und zum anderen als Base64 String in eine Textdatei ausgegeben.
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Nick
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 53
4 Monate 2 Wochen her - 4 Monate 2 Wochen her #5107
von Nick
Nick antwortete auf Base64 Bilddaten von JPG Format nach PNG umwandeln
Hallo Herr Stark,
den JPG-String bekommen wir über eine XML-Datei und schreiben die Informationen in eine Datenbank.
Wenn ich bei diesem Vorgang den JPG-String in einen PNG-String versuche zu wandeln, bleibt das Feld auf der DB leer. Wenn ich allerdings die Umwandlung mit einem gesondertem Flow durchführe funktioniert es wobei die Heater identisch sind:
Flow1 Daten aus XML in DB schreiben
Flow2 JPG-String über Update der DB in PNG-String wandeln
Weshalb das nicht alles in einem Flow abgehandelt werden kann, verstehe ich nicht.
Viele Grüsse
Nick
den JPG-String bekommen wir über eine XML-Datei und schreiben die Informationen in eine Datenbank.
Wenn ich bei diesem Vorgang den JPG-String in einen PNG-String versuche zu wandeln, bleibt das Feld auf der DB leer. Wenn ich allerdings die Umwandlung mit einem gesondertem Flow durchführe funktioniert es wobei die Heater identisch sind:
Flow1 Daten aus XML in DB schreiben
Flow2 JPG-String über Update der DB in PNG-String wandeln
Weshalb das nicht alles in einem Flow abgehandelt werden kann, verstehe ich nicht.
Viele Grüsse
Nick
Letzte Änderung: 4 Monate 2 Wochen her von Nick.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
4 Monate 2 Wochen her #5108
von FlowHeater-Team
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
FlowHeater-Team antwortete auf Base64 Bilddaten von JPG Format nach PNG umwandeln
Hallo Nick,
aktuell kann ich mir das nur so erklären. Haben Sie die Definition mit den zwei Verarbeitungsschritten evtl. nur im Testmodus laufen lassen? Das würde das das Verhalten erklären. In dem Fall stehen im zweiten Verarbeitungsschritt keine aktualisierten Daten zur Verfügung, da im Testmodus kein "Datenbank Commit" Durchgeführt wird.
Falls das das Problem nicht löst bräuchte ich zur weiteren Analyse mal die erstellten Definitionen.
aktuell kann ich mir das nur so erklären. Haben Sie die Definition mit den zwei Verarbeitungsschritten evtl. nur im Testmodus laufen lassen? Das würde das das Verhalten erklären. In dem Fall stehen im zweiten Verarbeitungsschritt keine aktualisierten Daten zur Verfügung, da im Testmodus kein "Datenbank Commit" Durchgeführt wird.
Falls das das Problem nicht löst bräuchte ich zur weiteren Analyse mal die erstellten Definitionen.
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Nick
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 53
4 Monate 1 Woche her #5109
von Nick
Nick antwortete auf Base64 Bilddaten von JPG Format nach PNG umwandeln
Hallo Herr Stark,
nein, ich habe es nicht im Testmodus laufen lassen. Ich habe im Anhang wie ich es eigentlich machen wollte was eigentlich funktionieren sollte.
Viele Grüsse
Nick
nein, ich habe es nicht im Testmodus laufen lassen. Ich habe im Anhang wie ich es eigentlich machen wollte was eigentlich funktionieren sollte.
Viele Grüsse
Nick
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Nick
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 53
4 Monate 1 Woche her #5110
von Nick
Nick antwortete auf Base64 Bilddaten von JPG Format nach PNG umwandeln
Hallo Herr Stark,
noch eine Sache (leider): Kann man die Ausgabe in der Auflösung in diesem Vorgang reduzieren und die Anzahl der Zeichen bei Ausgabe auf 3997 Zeichen beschränken?
Viele Grüsse
Nick
noch eine Sache (leider): Kann man die Ausgabe in der Auflösung in diesem Vorgang reduzieren und die Anzahl der Zeichen bei Ausgabe auf 3997 Zeichen beschränken?
Viele Grüsse
Nick
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
4 Monate 1 Woche her #5111
von FlowHeater-Team
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
FlowHeater-Team antwortete auf Base64 Bilddaten von JPG Format nach PNG umwandeln
Hallo Nick,
ich habe den Fehler gefunden. Die Anzeige (Ergebnisfenster) hört irgendwann auf die Daten anzuzeigen. Soll heißen, wenn diese zu lang sind wird hier keine Text mehr ausgegeben. In der Datenbank sollten die Daten aber richtig, mit der voller Länge, geschrieben werden.
Um die Auflösung einer Bilddatei ändern zu können müssen Sie lediglich das C# Skript mit folgenden austauschen und die Auflösung manuell ändern, siehe Kommentar im Skript.
ich habe den Fehler gefunden. Die Anzeige (Ergebnisfenster) hört irgendwann auf die Daten anzuzeigen. Soll heißen, wenn diese zu lang sind wird hier keine Text mehr ausgegeben. In der Datenbank sollten die Daten aber richtig, mit der voller Länge, geschrieben werden.
Um die Auflösung einer Bilddatei ändern zu können müssen Sie lediglich das C# Skript mit folgenden austauschen und die Auflösung manuell ändern, siehe Kommentar im Skript.
Code:
public object DoWork()
{
MemoryStream ms = new MemoryStream((Byte[])InValues[0].GetValue());
System.Drawing.Image image = System.Drawing.Image.FromStream(ms);
// hier die Auflösung ändern! 100 = Breite in Pixel, 156 = Höhe in Pixel
System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(image, 100, 156);
ms = new MemoryStream();
bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
return ms.GetBuffer();
}
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Nick
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 53
4 Monate 1 Woche her #5112
von Nick
Nick antwortete auf Base64 Bilddaten von JPG Format nach PNG umwandeln
Hallo Herr Stark,
funktioniert einwandfrei. . Vielen Dank.
Viele Grüsse
Nick
funktioniert einwandfrei. . Vielen Dank.
Viele Grüsse
Nick
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Ladezeit der Seite: 0.336 Sekunden