Deutsch
Quelltexte/ Codesnippets

Austauschen Bild Farbe Hpic Tauschen

 
Tauscht (blitzschnell) eine bestimmte Farbe REPLCOL& im ganzen Bild in die Farbe NEWCOL&, Idee aus: [...] 

Originalcode: [...] 
KompilierenMarkierenSeparieren
proc HPIC.REPLACECOL

    PARAMETERS HPIC&,REPLCOL&,NEWCOL&,XX&,YY&
    var HPICTMP&=CREATE("hNewPic",XX&,YY&,NEWCOL&)
    STARTPAINT HPICTMP&
    DRAWPIC HPIC&,0,0;-1,REPLCOL&
    ENDPAINT HPICTMP&
    STARTPAINT HPIC&
    DRAWPIC HPICTMP&,0,0;0
    ENDPAINT
    DELETEOBJECT HPICTMP&
    RETURN HPIC&

endproc

Nach diesem Verfahren kann man eine Farbe natürlich auch gegen Farbverläufe oder ähnliches austauschen.
 
17.07.2008  
 




Jac
de
Lad
Die Idee gefällt mir sehr gut.
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
17.07.2008  
 



Gern geschehen, wäre nur schöner wenn man statt "nur" der Größe (xx,yy) eine Art "Clippingregion" definieren könnte - zumindest per Rechteck. Mal schauen wie das am reibungslosesten gehen könnte... (um z.B. nur region 10,10 - 20,20 derart zu "bearbeiten")
 
17.07.2008  
 



Diese Version hier [...]  ist besser:

Optional nur 3 Parameter oder 7 Parameter mit Zielbereichangabe.
KompilierenMarkierenSeparieren
proc HPIC.REPLACECOL

    PARAMETERS HPIC&,REPLCOL&,NEWCOL&,X&,Y&,XX&,YY&
    var H&=0

    IF %PCOUNT<4

        H&=CREATE("hPicCopy",HPIC&)
        X&=0
        Y&=0
        XX&=%BMPX
        YY&=%BMPY
        DELETEOBJECT H&

    ENDIF

    H&=CREATE("hNewPic",XX&,YY&,NEWCOL&)
    STARTPAINT H&
    DRAWPIC HPIC&,0-X&,0-Y&;-1,REPLCOL&
    ENDPAINT H&
    STARTPAINT HPIC&
    DRAWPIC H&,X&,Y&;0
    ENDPAINT
    DELETEOBJECT H&
    RETURN HPIC&

endproc

 
17.07.2008  
 




Jac
de
Lad
Noch einfacher wirds, wenn du
KompilierenMarkierenSeparieren
H&=CREATE("hNewPic",XX&,YY&,NEWCOL&)
STARTPAINT H&
DRAWPIC HPIC&,0-X&,0-Y&;-1,REPLCOL&
ENDPAINT H&
STARTPAINT HPIC&
DRAWPIC H&,X&,Y&;0
ENDPAINT
DELETEOBJECT H&
RETURN HPIC&

durch
KompilierenMarkierenSeparieren
H&=CREATE("hNewPic",XX&,YY&,NEWCOL&)
STARTPAINT H&
DRAWPIC HPIC&,0-X&,0-Y&;-1,REPLCOL&
ENDPAINT
DELETEOBJECT HPIC&
RETURN H&

ersetzt.
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
17.07.2008  
 



Sieht dann komplett wie aus?
 
17.07.2008  
 




Jac
de
Lad

KompilierenMarkierenSeparieren
proc HPIC.REPLACECOL

    PARAMETERS HPIC&,REPLCOL&,NEWCOL&,X&,Y&,XX&,YY&
    var H&=0

    IF %PCOUNT<4

        H&=CREATE("hPicCopy",HPIC&)
        X&=0
        Y&=0
        XX&=%BMPX
        YY&=%BMPY
        DELETEOBJECT H&

    ENDIF

    H&=CREATE("hNewPic",XX&,YY&,NEWCOL&)
    STARTPAINT H&
    DRAWPIC HPIC&,0-X&,0-Y&;-1,REPLCOL&
    ENDPAINT
    DELETEOBJECT HPIC&
    RETURN H&

endproc

 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
17.07.2008  
 



Ne, diese Lösung funktioniert nicht... gib mal Koordinaten ein...

Mein Testcode: [...] 

Ergibt nach Deinem Code:



statt


3 kB
Hochgeladen:17.07.2008
Ladeanzahl258
Herunterladen
3 kB
Hochgeladen:17.07.2008
Ladeanzahl243
Herunterladen
 
17.07.2008  
 




Jac
de
Lad
Kann grad nich testen. Das Einzige, was ich anders mache ist doch, dass ich das Handle des temporären Bildes zurückgebe, anstatt den Kram wieder 1:1 zurückzukopieren. Versteh ich jetzt nicht.
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
17.07.2008  
 



Gug noch mal an hast nur was übersehen denn ganz so einfach ist der Vorgang leider nicht.
 
17.07.2008  
 




Jac
de
Lad
Määääääp, du hast ja so recht.

Und es fehlt eindeutig noch ein profansches "GetWidth" und "GetHeight"...
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
17.07.2008  
 



Zum Quelltext


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

13.240 Betrachtungen

Unbenanntvor 0 min.
Jörg Sellmeyer24.06.2020
Michael W.03.07.2016
Stephan Lührsen09.01.2014
Stephie08.09.2011
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

iF (6x)
Jac de Lad (5x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie