Nach dem Wechsel von Alaska 1.9 nach Alaska 2.0 funktioniert bmp2bmp nicht mehr()
Moderator: Moderatoren
- Eugeny Lutsenko
- Rekursionen-Architekt
- Beiträge: 108
- Registriert: Fr, 15. Mai 2020 16:16
- Wohnort: Russland, der südliche Föderale Bezirk, die Stadt Krasnodar
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 1 Mal
- Kontaktdaten:
Nach dem Wechsel von Alaska 1.9 nach Alaska 2.0 funktioniert bmp2bmp nicht mehr()
hi!
Nach dem Wechsel von Alaska 1.9 nach Alaska 2.0 funktioniert Funktion bmp2bmp () nicht mehr. Schreibt, dass der xbP-Prozess von pressSpace nicht verfügbar ist. Sie wissen nicht, was zu tun ist? Ich brauchte diese Funktion, um Bilder auf einen kleinen Bildschirm zu skalieren. Einige Benutzer brauchen es
Nach dem Wechsel von Alaska 1.9 nach Alaska 2.0 funktioniert Funktion bmp2bmp () nicht mehr. Schreibt, dass der xbP-Prozess von pressSpace nicht verfügbar ist. Sie wissen nicht, was zu tun ist? Ich brauchte diese Funktion, um Bilder auf einen kleinen Bildschirm zu skalieren. Einige Benutzer brauchen es
- Manfred
- Foren-Administrator
- Beiträge: 21211
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Nach dem Wechsel von Alaska 1.9 nach Alaska 2.0 funktioniert bmp2bmp nicht mehr()
das ist aber keine pure xbase++ Funktion?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Jan
- Marvin
- Beiträge: 14659
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Nach dem Wechsel von Alaska 1.9 nach Alaska 2.0 funktioniert bmp2bmp nicht mehr()
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- Eugeny Lutsenko
- Rekursionen-Architekt
- Beiträge: 108
- Registriert: Fr, 15. Mai 2020 16:16
- Wohnort: Russland, der südliche Föderale Bezirk, die Stadt Krasnodar
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 1 Mal
- Kontaktdaten:
Re: Nach dem Wechsel von Alaska 1.9 nach Alaska 2.0 funktioniert bmp2bmp nicht mehr()
Manfred!
Jetzt habe ich eine solche Funktion in Alaska-2.0 nicht gefunden. Aber in 1.9 habe ich es benutzt. Neben Alaska-1.9 habe ich noch Roger Donneys Eispress++ und Boris Borzik xb2net verwendet. In Express ist diese Funktion auch nicht.
Jetzt habe ich eine solche Funktion in Alaska-2.0 nicht gefunden. Aber in 1.9 habe ich es benutzt. Neben Alaska-1.9 habe ich noch Roger Donneys Eispress++ und Boris Borzik xb2net verwendet. In Express ist diese Funktion auch nicht.
- Manfred
- Foren-Administrator
- Beiträge: 21211
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Nach dem Wechsel von Alaska 1.9 nach Alaska 2.0 funktioniert bmp2bmp nicht mehr()
au backe..... wo habe ich die denn ausgegraben?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Eugeny Lutsenko
- Rekursionen-Architekt
- Beiträge: 108
- Registriert: Fr, 15. Mai 2020 16:16
- Wohnort: Russland, der südliche Föderale Bezirk, die Stadt Krasnodar
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 1 Mal
- Kontaktdaten:
Re: Nach dem Wechsel von Alaska 1.9 nach Alaska 2.0 funktioniert bmp2bmp nicht mehr()
Gefunden in einigen Beispielen. Alles hat funktioniert. Und jetzt funktioniert, wenn Sie nicht skalieren müssen. Eigentlich habe ich eine Frage, wie man jetzt ein Bild mit großer Dimension skaliert, um es auf einem Bildschirm mit niedriger Auflösung anzuzeigen. Hier ist der vollständige Text des hauptmoduls des Eidos-Systems: http://lc.kubagro.ru/__AIDOS-X.txt. es kann direkt gesucht werden: bmp2bmp.
Hier habe ich gefunden, wo ich es gefunden habe:
http://bb.donnay-software.com/donnay/se ... d%5B0%5D=2
Hier habe ich gefunden, wo ich es gefunden habe:
http://bb.donnay-software.com/donnay/se ... d%5B0%5D=2
Zuletzt geändert von Eugeny Lutsenko am Mi, 16. Dez 2020 16:58, insgesamt 1-mal geändert.
- Manfred
- Foren-Administrator
- Beiträge: 21211
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Nach dem Wechsel von Alaska 1.9 nach Alaska 2.0 funktioniert bmp2bmp nicht mehr()
was aber meine Eingangsbehauptung nicht widerlegt. Es ist keine xbase++ Funktion.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Eugeny Lutsenko
- Rekursionen-Architekt
- Beiträge: 108
- Registriert: Fr, 15. Mai 2020 16:16
- Wohnort: Russland, der südliche Föderale Bezirk, die Stadt Krasnodar
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 1 Mal
- Kontaktdaten:
Re: Nach dem Wechsel von Alaska 1.9 nach Alaska 2.0 funktioniert bmp2bmp nicht mehr()
Ja, anscheinend ist es so. In Alaska-2.0 gibt es keine bmp2bmp () - Funktion. Aber in Express++ habe ich kein Programm gefunden, das diese Funktion verwendet. Aber es wurde im Forum von Roger Donney diskutiert. Es ist wichtig für mich zu wissen, wie ich auf diese Funktion zum Zoomen von Bildern verzichten kann. Ist es möglich, dies mit den Mitteln von Alaska-2.0 zu tun?
Hier habe ich gefunden, wo ich es gefunden habe:
http://bb.donnay-software.com/donnay/se ... d%5B0%5D=2
Unter 2.0 kompiliert dies, funktioniert aber nicht
Hier habe ich gefunden, wo ich es gefunden habe:
http://bb.donnay-software.com/donnay/se ... d%5B0%5D=2
Code: Alles auswählen
#include "Xbp.ch"
#include "Gra.ch"
PROCEDURE Appsys
RETURN
PROCEDURE Main(cFile)
LOCAL oBMP
LOCAL aSize
LOCAL oBild
IF EMPTY(cFile)
Msgbox("need BMP / JPG / PNG file","Error no file")
QUIT
ENDIF
FERASE("B1366x768.JPG")
FERASE("B1366x699.JPG")
FERASE("B640x480.JPG" )
oBMP := XbpBitmap():new():create()
oBMP:loadFile(cFile)
aSize := {1366,768}
oBild := BMP2BMP2( oBMP, aSize )
oBild:saveFile( "B1366x768.JPG",XBPBMP_FORMAT_JPG)
aSize := {1366,699}
oBild := BMP2BMP2( oBMP, aSize )
oBild:saveFile( "B1366x699.JPG",XBPBMP_FORMAT_JPG)
aSize := {640,480}
oBild := BMP2BMP2( oBMP, aSize )
oBild:saveFile( "B640x480.JPG" ,XBPBMP_FORMAT_JPG)
Msgbox("ready")
QUIT
RETURN
STATIC FUNCTION BMP2BMP2( oBMP, aIcoSize )
LOCAL oTiny
LOCAL oPS
LOCAL oRet
LOCAL nBits
LOCAL nPlanes
LOCAL nBGClr
LOCAL aRGB
IF aIcoSize[ 2 ] > 0
nBits := oBMP:bits
nPlanes := oBMP:planes
nBGClr := oBMP:getDefaultBgColor()
oPS := XBPPRESSPACE() :new()
oTiny := XBPBITMAP():New():Create()
IF nBGClr = 16777216
aRGB := GraGetRGBIntensity(nBGClr)
oTiny:transparentClr := GraMakeRGBColor(aRGB)
ELSE
oTiny:transparentClr := oBMP:getDefaultBgColor()
ENDIF
IF nBits > 1 .AND. nPlanes > 1
oTiny:Make( aIcoSize[ 1 ], aIcoSize[ 2 ], nPlanes, nBits )
ELSE
oTiny:Make( aIcoSize[ 1 ], aIcoSize[ 2 ] )
ENDIF
oTiny:presSpace( oPS )
IF aIcoSize[ 2 ] > oBMP:ySize
oBMP:Draw( oPS, { 0, 0, aIcoSize[1], aIcoSize[2] },,, GRA_BLT_BBO_IGNORE )
ELSE
oBMP:Draw( oPS, { 0, 0, aIcoSize[1], aIcoSize[2] },,, 4 )
ENDIF
oRet := oTiny
ELSE
oRet := oBMP
ENDIF
RETURN oRet
*
* eof
*
Code: Alles auswählen
*******************************************************************
******** Bmp-Bilder von Jimmy skalieren
*******************************************************************
STATIC FUNCTION BMP2BMP( oBMP, aIcoSize )
LOCAL oTiny
LOCAL oPS
LOCAL oRet
LOCAL nBits
LOCAL nPlanes
LOCAL nBGClr
LOCAL aRGB
IF aIcoSize[ 2 ] > 0
nBits := oBMP:bits
nPlanes := oBMP:planes
nBGClr := oBMP:getDefaultBgColor()
oPS := XBPPRESSPACE() :new()
oTiny := XBPBITMAP():New():Create()
IF nBGClr = 16777216
aRGB := GraGetRGBIntensity(nBGClr)
oTiny:transparentClr := GraMakeRGBColor(aRGB)
ELSE
oTiny:transparentClr := oBMP:getDefaultBgColor()
ENDIF
IF nBits > 1 .AND. nPlanes > 1
oTiny:Make( aIcoSize[ 1 ], aIcoSize[ 2 ], nPlanes, nBits )
ELSE
oTiny:Make( aIcoSize[ 1 ], aIcoSize[ 2 ] )
ENDIF
oTiny:presSpace( oPS )
IF aIcoSize[ 2 ] > oBMP:ySize
oBMP:Draw( oPS, { 0, 0, aIcoSize[1], aIcoSize[2] },,, GRA_BLT_BBO_IGNORE )
ELSE
oBMP:Draw( oPS, { 0, 0, aIcoSize[1], aIcoSize[2] },,, 4 )
ENDIF
oRet := oTiny
ELSE
oRet := oBMP
ENDIF
RETURN oRet
Zuletzt geändert von Eugeny Lutsenko am Mi, 16. Dez 2020 19:10, insgesamt 3-mal geändert.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2518
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: Nach dem Wechsel von Alaska 1.9 nach Alaska 2.0 funktioniert bmp2bmp nicht mehr()
Zur Bildmanipulation wie Cut, Resize, Transform usw. gibt es die Open-Source DLL FreeImage. Funktioniert echt gut.
siehe: https://freeimage.sourceforge.io/
siehe: https://freeimage.sourceforge.io/
Valar Morghulis
Gruss Carlo
Gruss Carlo
- AUGE_OHR
- Marvin
- Beiträge: 12911
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Nach dem Wechsel von Alaska 1.9 nach Alaska 2.0 funktioniert bmp2bmp nicht mehr()
hi,
https://www.xbaseforum.de/viewtopic.php ... 97&p=25869
du hattest 2018 ein Problem gefunden den Wolfgang korrigiert hat https://www.xbaseforum.de/viewtopic.php ... 5&p=122786
---
die Function legt ein leeres Bitmap in gewünschter Grösse an welche mit dem "Presspace" verknüpft wird.
es war die Reihenfolge die bis dahin funktionierte aber nun musste man diese Reihenfolge haben
---
wenn man ein Image verkleinert ist das Resultat oft "ungenügend" wenn man die GRA_BLT_BBO_* Konstanten versucht.
ich hatte Eugene einen "undokumentierten" Tip mit "4" gegeben ... ob der mit der v2.x funktioniert ...
zum "manipulieren" von Image empfehle ich FreeImage. Pablo hat einen Ot4xb "Wrapper" für Xbase++
ich nutzte FreeImage zum erstellen von "Thumbs" was viel schneller ist als GDI API Function
die Function BMP2BMP() ist von mir aus 2008
https://www.xbaseforum.de/viewtopic.php ... 97&p=25869
du hattest 2018 ein Problem gefunden den Wolfgang korrigiert hat https://www.xbaseforum.de/viewtopic.php ... 5&p=122786
---
die Function legt ein leeres Bitmap in gewünschter Grösse an welche mit dem "Presspace" verknüpft wird.
es war die Reihenfolge die bis dahin funktionierte aber nun musste man diese Reihenfolge haben
Code: Alles auswählen
// dann das MAKE
oTiny:Make(aXbpSize[1], aXbpSize[2], nPlanes, nBits)
// und so klappt das auch mit Xbase++ v2.0.437
oTiny:PresSpace(oPS)
wenn man ein Image verkleinert ist das Resultat oft "ungenügend" wenn man die GRA_BLT_BBO_* Konstanten versucht.
ich hatte Eugene einen "undokumentierten" Tip mit "4" gegeben ... ob der mit der v2.x funktioniert ...
zum "manipulieren" von Image empfehle ich FreeImage. Pablo hat einen Ot4xb "Wrapper" für Xbase++
ich nutzte FreeImage zum erstellen von "Thumbs" was viel schneller ist als GDI API Function
Code: Alles auswählen
#IFDEF Use_FreeImage
nType := FREE_GetFileType( cPath + cFile, 0 )
FI_hBitmap1_aux := FREE_Load( nType, cPath + cFile, 0 )
IF !EMPTY( FI_hBitmap1_aux )
nPicWidth := FREE_GetWidth( FI_hBitmap1_aux )
nPicHeight := FREE_GetHeight( FI_hBitmap1_aux )
clone := FREE_Clone( FI_hBitmap1_aux )
FREE_Unload( FI_hBitmap1_aux )
FI_hBitmap1 := Free_MakeThumbnail( clone, 128, TRUE )
FREE_Unload( clone )
FREE_Save( FIF_BMP, FI_hBitmap1, cThumbsFile, BMP_DEFAULT )
SetProperty( "THUMBSWIN", cImage, "PICTURE", cThumbsFile )
FREE_Unload( FI_hBitmap1 )
ENDIF
#ELSE
gruss by OHR
Jimmy
Jimmy
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2518
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: Nach dem Wechsel von Alaska 1.9 nach Alaska 2.0 funktioniert bmp2bmp nicht mehr()
Hallo zusammen
Das FreeImage Codeschnitzel von Jimmy ist so so ziemlich nutzlos. Weil es unvollständigkeit ist es auch überhaupt in keiner Weise nutzbar.
Die angehängte PRG enthält einige wenige grundsätzliche Funktionen zur Bildbearbeitung mit FreeImage in lauffähiger benutzbarer Form.
Die enthaltenen Funktionen sind auf eine spezielle Aufgabe zugeschnitten und am Anfang kurz beschrieben.
ot4xb muss vorhanden sein.
Die DLL selbst findet sich unter: https://freeimage.sourceforge.io/
Wer Fehler findet oder weitere neue Funktionen damit schreibt darf die Erweiterungen und Erkenntnisse gerne hier mit allen Teilen.
Das FreeImage Codeschnitzel von Jimmy ist so so ziemlich nutzlos. Weil es unvollständigkeit ist es auch überhaupt in keiner Weise nutzbar.
Die angehängte PRG enthält einige wenige grundsätzliche Funktionen zur Bildbearbeitung mit FreeImage in lauffähiger benutzbarer Form.
Die enthaltenen Funktionen sind auf eine spezielle Aufgabe zugeschnitten und am Anfang kurz beschrieben.
ot4xb muss vorhanden sein.
Die DLL selbst findet sich unter: https://freeimage.sourceforge.io/
Wer Fehler findet oder weitere neue Funktionen damit schreibt darf die Erweiterungen und Erkenntnisse gerne hier mit allen Teilen.
- Dateianhänge
-
- Freeimage_tools.zip
- (5.76 KiB) 213-mal heruntergeladen
Valar Morghulis
Gruss Carlo
Gruss Carlo
- brandelh
- Foren-Moderator
- Beiträge: 15699
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 67 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: Nach dem Wechsel von Alaska 1.9 nach Alaska 2.0 funktioniert bmp2bmp nicht mehr()
Hallo,
ich habe auf meiner Festplatte diesen Code aus 2018, da steht was von "geht auch mit 2.0" im Kommentar:
Ich kann nicht erkennen, woher ich die geänderte Version habe.
So wie ich das sehe war im original Code diese Zeile ohne Create()
oPS := XbpPresSpace():New():Create()
die 1.90 scheint das ignoriert zu haben, die 2.0 erkennt den falschen Objekt Status
ich habe auf meiner Festplatte diesen Code aus 2018, da steht was von "geht auch mit 2.0" im Kommentar:
Code: Alles auswählen
FUNCTION BMP2BMP( oBMP, aXbpSize,ltransparency)
LOCAL oHuge, oTiny, oPS, oRet, nBits, nPlanes
DEFAULT ltransparency TO .T.
IF aXbpSize[ 2 ] > 0
oHuge := oBMP
nBits := oBMP:bits
nPlanes := oBMP:planes
// erst Presspace anfordern
oPS := XbpPresSpace():New():Create()
// jetzt das Bitmap Objet
oTiny := XbpBitmap():New():Create()
IF ltransparency // transparentClr beachten
oTiny:transparentClr := oBMP:transparentClr
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)
//Copie and resize the huge bitmap to the small bitmap
oHuge:Draw( oPS, { 0, 0, aXbpSize[ 1 ], aXbpSize[ 2 ] },,, GRA_BLT_BBO_IGNORE )
oRet := oTiny
ELSE
oRet := oBMP
ENDIF
RETURN oRet
So wie ich das sehe war im original Code diese Zeile ohne Create()
oPS := XbpPresSpace():New():Create()
die 1.90 scheint das ignoriert zu haben, die 2.0 erkennt den falschen Objekt Status
Gruß
Hubert
Hubert
- Jan
- Marvin
- Beiträge: 14659
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Nach dem Wechsel von Alaska 1.9 nach Alaska 2.0 funktioniert bmp2bmp nicht mehr()
In dem Forenlink, den ich oben an Pos. 3 gepostet habe, gibt es einen Code der unter 2.0 funktionieren soll. Nicht der von Manfred (der ja die Frage stellt daß das nicht klappt), sondern von Wolfgang.
Jan
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2126
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 75 Mal
Re: Nach dem Wechsel von Alaska 1.9 nach Alaska 2.0 funktioniert bmp2bmp nicht mehr()
Servus,
die Änderungen für die 2.0 waren von mir damals, 2013 https://www.xbaseforum.de/viewtopic.php ... bmp#p81754, hier meine aktuelle Version:
die Änderungen für die 2.0 waren von mir damals, 2013 https://www.xbaseforum.de/viewtopic.php ... bmp#p81754, hier meine aktuelle Version:
Code: Alles auswählen
#include "gra.ch"
#include "common.ch"
#include "xbp.ch"
FUNCTION BMP2BMP( oBMP, aXbpSize, lTransparency, nTransparenz)
******************************************************************
LOCAL oHuge, oTiny, oPS, oRet, nBits, 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 ) // GRA_BLT_BBO_IGNORE wars! 30.08.2016
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!>
- AUGE_OHR
- Marvin
- Beiträge: 12911
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Nach dem Wechsel von Alaska 1.9 nach Alaska 2.0 funktioniert bmp2bmp nicht mehr()
nö, "dein" Code ist ALT und kennt noch kein Free_MakeThumbnail()ramses hat geschrieben: ↑Do, 17. Dez 2020 8:52 Das FreeImage Codeschnitzel von Jimmy ist so so ziemlich nutzlos. Weil es unvollständigkeit ist es auch überhaupt in keiner Weise nutzbar.
Die angehängte PRG enthält einige wenige grundsätzliche Funktionen zur Bildbearbeitung mit FreeImage in lauffähiger benutzbarer Form.
Pablo hat den "Wrapper" 2015 geschrieben und seit dem hat sich einiges getan aber es wurde nichts hinzugefügt.
klar kann man es auch mit FreeImage_Resize() machen aber es ist im Vergleich ca. 20% langsamer.
... aber gegenüber Xbase++ um etliches schneller "je grösser" das Image
gruss by OHR
Jimmy
Jimmy
- Eugeny Lutsenko
- Rekursionen-Architekt
- Beiträge: 108
- Registriert: Fr, 15. Mai 2020 16:16
- Wohnort: Russland, der südliche Föderale Bezirk, die Stadt Krasnodar
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 1 Mal
- Kontaktdaten:
Re: Nach dem Wechsel von Alaska 1.9 nach Alaska 2.0 funktioniert bmp2bmp nicht mehr()
Vielen Dank, Werner! Deine Lösung funktioniert! Ich habe die veraltete Funktion bmp2bmp() auf meinem System durch deine Option ersetzt. Vielen Dank!Werner_Bayern hat geschrieben: ↑Do, 17. Dez 2020 11:36 Servus,
die Änderungen für die 2.0 waren von mir damals, 2013 https://www.xbaseforum.de/viewtopic.php ... bmp#p81754, hier meine aktuelle Version:
Code: Alles auswählen
#include "gra.ch" #include "common.ch" #include "xbp.ch" FUNCTION BMP2BMP( oBMP, aXbpSize, lTransparency, nTransparenz) ****************************************************************** LOCAL oHuge, oTiny, oPS, oRet, nBits, 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 ) // GRA_BLT_BBO_IGNORE wars! 30.08.2016 oRet := oTiny ELSE oRet := oBMP ENDIF RETURN oRet
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2126
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 75 Mal
Re: Nach dem Wechsel von Alaska 1.9 nach Alaska 2.0 funktioniert bmp2bmp nicht mehr()
Gerne.
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: 2518
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: Nach dem Wechsel von Alaska 1.9 nach Alaska 2.0 funktioniert bmp2bmp nicht mehr()
Hallo JimmyAUGE_OHR hat geschrieben: ↑Do, 17. Dez 2020 13:09 nö, "dein" Code ist ALT und kennt noch kein Free_MakeThumbnail()
Pablo hat den "Wrapper" 2015 geschrieben und seit dem hat sich einiges getan aber es wurde nichts hinzugefügt.
klar kann man es auch mit FreeImage_Resize() machen aber es ist im Vergleich ca. 20% langsamer.
... aber gegenüber Xbase++ um etliches schneller "je grösser" das Image
sicher hat sich in der Bildbearbeitung sehr sehr viel getan.
hast du besseren / schnelleren Code?
Meine Rohbilder sind relativ gross 8600x5800 Pixel da wären optimierte Routinen sehr willkommen.
Valar Morghulis
Gruss Carlo
Gruss Carlo
- AUGE_OHR
- Marvin
- Beiträge: 12911
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Nach dem Wechsel von Alaska 1.9 nach Alaska 2.0 funktioniert bmp2bmp nicht mehr()
hi,
im Graphischen Bereich ist GIMP wohl die Open Source LIB die zum "manipulieren" am meisten bietet.
wie man die unter Xbase++ einbindet kann ich dir leider nicht sagen.
mir reicht FreeImage um Thumbsnail als Vorschau zu haben und dann die "riesigen" Handy Fotos auf Full-HD Grösse zu bringen. auch das "drehen" mache ich mit FreeImage was viel weniger "Verluste" hat als GDI Function.
Ich hatte unter Xbase++ den "Wrapper" von Pablo benutzt. nun hab ich einen "Wrapper" um den "C" Source direkt einzubinden
im Graphischen Bereich ist GIMP wohl die Open Source LIB die zum "manipulieren" am meisten bietet.
wie man die unter Xbase++ einbindet kann ich dir leider nicht sagen.
mir reicht FreeImage um Thumbsnail als Vorschau zu haben und dann die "riesigen" Handy Fotos auf Full-HD Grösse zu bringen. auch das "drehen" mache ich mit FreeImage was viel weniger "Verluste" hat als GDI Function.
Ich hatte unter Xbase++ den "Wrapper" von Pablo benutzt. nun hab ich einen "Wrapper" um den "C" Source direkt einzubinden
gruss by OHR
Jimmy
Jimmy