Italia
Fonte/ 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&

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 Dimensione (xx,yy) eine Art "Clippingregion" definieren potuto - zumindest per Rechteck. Mal schauen wie das am reibungslosesten gehen potuto... (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&
RETURNC&

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
Downloadcounter258
Download
3 kB
Hochgeladen:17.07.2008
Downloadcounter243
Download
 
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


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

13.167 Views

Untitledvor 0 min.
Jörg Sellmeyer24.06.2020
Michael W.03.07.2016
Stephan Lührsen09.01.2014
Stephie08.09.2011
Di più...

Themeninformationen

Dieses Thema hat 2 subscriber:

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


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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