JPG Bilder Crop/Resize
Moderator: Moderatoren
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2513
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
JPG Bilder Crop/Resize
Hi
kennt jemand eine Funktion / DLL mit der ein Bild bezw. die JPG Datei bearbeitet werden kann?
Beispiel: Ein JPG File mit 10000*7500 Pixel in 4:3 Darstellung
soll in einer xbase-Anwendung in eine 16:9 Darstellung mit 3840*2160 konvertiert werden. (Crop + Resize)
Cu Carlo
kennt jemand eine Funktion / DLL mit der ein Bild bezw. die JPG Datei bearbeitet werden kann?
Beispiel: Ein JPG File mit 10000*7500 Pixel in 4:3 Darstellung
soll in einer xbase-Anwendung in eine 16:9 Darstellung mit 3840*2160 konvertiert werden. (Crop + Resize)
Cu Carlo
Valar Morghulis
Gruss Carlo
Gruss Carlo
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2125
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 75 Mal
Re: JPG Bilder Crop/Resize
Code: Alles auswählen
#include "gra.ch"
#include "common.ch"
#include "xbp.ch"
FUNCTION BMP2BMP( oBMP, aXbpSize, lTransparency, nTransparenz)
******************************************************************
LOCAL oHuge
LOCAL oTiny
LOCAL oPS
LOCAL oRet
LOCAL nBits
LOCAL nPlanes
default lTransparency to .t.
default nTransparenz to oBMP:transparentClr
IF aXbpSize[ 2 ] > 0
oHuge := oBMP
nBits := oBMP:bits
nPlanes := oBMP:planes
// erst Presspace anfordern
oPS := XbpPresSpace():New():Create()
// jetzt das Bitmap Objekt
oTiny := XbpBitmap():New():Create()
IF lTransparency // transparentClr beachten
oTiny:transparentClr := nTransparenz
oTiny:transparency := oBMP:transparency // Transparenzgrad
ENDIF
// dann das MAKE
oTiny:Make(aXbpSize[1], aXbpSize[2], nPlanes, nBits)
// und so klappt das auch mit Xbase++ v2.0.437
oTiny:PresSpace(oPS)
oHuge:Draw( oPS, { 0, 0, aXbpSize[ 1 ], aXbpSize[ 2 ]},,,GRA_BLT_BBO_IGNORE )
oRet := oTiny
ELSE
oRet := oBMP
ENDIF
RETURN oRet
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2513
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: JPG Bilder Crop/Resize
Hallo Werner
danke für deinen Tip. Leider können die Xbase Funktionen die Aufgabe nicht ausführen.
Eine JPG-Datei 3840*2160 lässt sich ohne Probleme zb. auf 800*600 verkleinern.
Nehme ich eine 10000*7500 Datei ist das ergebniss nach ca. 15 Sekunden IMMER ein schwarzes Bild der gewünschten Grösse.
Dies auch mit deiner bmp2bmp() Funktion.
Nachtrag:
7000 Px breite --> OK, Bild wird korrekt verkleinert.
8000 Px breite --> funktioniert nicht mehr. Ergebnis: Schwarzes Bild.
Cu Carlo
danke für deinen Tip. Leider können die Xbase Funktionen die Aufgabe nicht ausführen.
Eine JPG-Datei 3840*2160 lässt sich ohne Probleme zb. auf 800*600 verkleinern.
Nehme ich eine 10000*7500 Datei ist das ergebniss nach ca. 15 Sekunden IMMER ein schwarzes Bild der gewünschten Grösse.
Dies auch mit deiner bmp2bmp() Funktion.
Nachtrag:
7000 Px breite --> OK, Bild wird korrekt verkleinert.
8000 Px breite --> funktioniert nicht mehr. Ergebnis: Schwarzes Bild.
Cu Carlo
Valar Morghulis
Gruss Carlo
Gruss Carlo
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: JPG Bilder Crop/Resize
mit solchen Grössen habe ich es nie getestet ...ramses hat geschrieben:Leider können die Xbase Funktionen die Aufgabe nicht ausführen.
...
Nehme ich eine 10000*7500 Datei ist das ergebniss nach ca. 15 Sekunden IMMER ein schwarzes Bild der gewünschten Grösse.
Frage : kann M$ PAINT mit einem so grossen Bild umgehen ?
es gibt eine FREEIMAGE.DLL / ot4xb die vielleicht so was kann.
gruss by OHR
Jimmy
Jimmy
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2513
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: JPG Bilder Crop/Resize
Hallo Jimmy
danke für den Tip "Freeimage.dll" werde mal das Handbuch lesen und versuchen die DLL zu verwenden.
M$ Paint kann mit dem Bild umgehen, auch infranView und die anderen, wie die Tools für Handbedienung auch alle alle heissen.
Cu Carlo
danke für den Tip "Freeimage.dll" werde mal das Handbuch lesen und versuchen die DLL zu verwenden.
M$ Paint kann mit dem Bild umgehen, auch infranView und die anderen, wie die Tools für Handbedienung auch alle alle heissen.
Cu Carlo
Valar Morghulis
Gruss Carlo
Gruss Carlo
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2125
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 75 Mal
Re: JPG Bilder Crop/Resize
Servus Carlo,
wenn Du mir das Bild mal zur Verfügung stellst, teste ich damit.
wenn Du mir das Bild mal zur Verfügung stellst, teste ich damit.
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2513
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: JPG Bilder Crop/Resize
Hallo Werner
ich habe es bereits Testweise mit "Freeimage.dll" gelöst.
Dies ist absolut die beste Lösung da die "FreeImage.dll" auch RAW Bilder verschiedener Kameras direkt lesen und die Metadaten in die bearbeiteten Bilder übernimmt. Aufwendige Vor und Nacharbeiten wie Konvert Raw->JPG und eine separate Datei mit den Metadaten der Bilder führen entfallen damit.
Dennoch Danke für dein Testangebot.
Cu Carlo
ich habe es bereits Testweise mit "Freeimage.dll" gelöst.
Dies ist absolut die beste Lösung da die "FreeImage.dll" auch RAW Bilder verschiedener Kameras direkt lesen und die Metadaten in die bearbeiteten Bilder übernimmt. Aufwendige Vor und Nacharbeiten wie Konvert Raw->JPG und eine separate Datei mit den Metadaten der Bilder führen entfallen damit.
Dennoch Danke für dein Testangebot.
Cu Carlo
Valar Morghulis
Gruss Carlo
Gruss Carlo
Re: JPG Bilder Crop/Resize
Hallo ihr Lieben,
ich arbeite noch nicht all zu lange mit Xbase++, deswegen entschuldigt, wenn die Frage etwas komisch erscheint ... mit Crop/Resize meint ihr im Prinzip doch nur die Verkleinerung/Komprimierung der Bilddateien, oder?
Ich verwende bisher keine .DLLs sondern komprimiere meine Bilder über das Browsertool Optimizilla, auf das ich hier im Guide aufmerksam wurde. Da hab ich jetzt nur nicht die Resize-Funktion von 4:3 auf 16:9 mit drin, aber das brauchte ich bisher nur einmal und hab das fix mit MS Paint gelöst, wie ihr es anscheinend auch macht, wenn ihr nicht gerade die freeimage.dll verwendet? Gibt's Gründe außer den Speicher und das schnellere Laden der Website, warum man Bildern croppen/resizen sollte? Ich komprimiere die Bilder aus eben genannten zwei Gründen, aber die Änderung von 4:3 auf 16:9 klingt fast so, als würde da noch eine andere Intention hinter stecken?
Sorry für das Unwissen und ich freue mich über Antworten, die mir die Augen öffnen,
Grüße, Baser
ich arbeite noch nicht all zu lange mit Xbase++, deswegen entschuldigt, wenn die Frage etwas komisch erscheint ... mit Crop/Resize meint ihr im Prinzip doch nur die Verkleinerung/Komprimierung der Bilddateien, oder?
Ich verwende bisher keine .DLLs sondern komprimiere meine Bilder über das Browsertool Optimizilla, auf das ich hier im Guide aufmerksam wurde. Da hab ich jetzt nur nicht die Resize-Funktion von 4:3 auf 16:9 mit drin, aber das brauchte ich bisher nur einmal und hab das fix mit MS Paint gelöst, wie ihr es anscheinend auch macht, wenn ihr nicht gerade die freeimage.dll verwendet? Gibt's Gründe außer den Speicher und das schnellere Laden der Website, warum man Bildern croppen/resizen sollte? Ich komprimiere die Bilder aus eben genannten zwei Gründen, aber die Änderung von 4:3 auf 16:9 klingt fast so, als würde da noch eine andere Intention hinter stecken?
Sorry für das Unwissen und ich freue mich über Antworten, die mir die Augen öffnen,
Grüße, Baser
Der Weg ist das Ziel.