Español
Foro

Bildspeicherverbrauch en el Mientras que-Bucle....

 
- Página 1 -



funkheld
Dieses bild& en el Mientras que-Schleife;
bild&=create("hpiccopy",screen&,200,200,50,50)
se sí siempre otra vez neu producido.
Wird como siempre otra vez neuer Speicher verbraucht, oder se el Bild siempre en el gleichen Speicherbereich gelegt, así el el vorgehende no rausgenommen voluntad braucht?

Gracias.

Gruss
 {$cleq}
 {$compiler d:\XProfan11\}
 {$runtime d:\XProfan11\}
declarar screen&,bild&,ende&
ende&=1
Ventana 20,20-500,500
Cls RGB(220,220,220)
screen& = create("hNewPic", 400,400,rgb(255,255,0))
startpaint screen&
usebrush 1,rgb(0,128,255)
ellipse 200,200-250,250
endpaint

Whileloop 10000

    drawpic screen&,20,20;0
    bild&=create("hpiccopy",screen&,200,200,50,50)
    startpaint screen&
    drawpic bild&,100,10;0
    endpaint

EndWhile

End
 
13.04.2012  
 



 
- Página 1 -



funkheld
Jup, danke.
Yo habe unten una Zona eingerichtet con : mcls 50,50
Darin Yo una Teil des Screen kopiert : copybmptomem 200,200-50,50>0,0

Como bekomme Yo el BIld ahora a una cierto lugar vom Screen&?
Como komme Yo a el Adresse des mcls-Speichers a Daten a manipulieren ?

Gracias.

Gruss
 {$cleq}
 {$compiler d:\XProfan11\}
 {$runtime d:\XProfan11\}
declarar screen&,bild&,ende&
ende&=1
Ventana 20,20-500,500
Cls RGB(220,220,220)
screen& = create("hNewPic", 400,400,rgb(255,255,0))
bild&=create("hnewpic",60,60,rgb(0,0,0))
mcls 50,50
startpaint screen&
usebrush 1,rgb(0,128,255)
ellipse 200,200-250,250
endpaint

Mientras que ende&

    drawpic screen&,20,20;0
    copybmptomem 200,200-50,50>0,0
    .........

EndWhile

waitkey
End
 
13.04.2012  
 




Jörg
Sellmeyer
Usted puede auch con StartPaint -1 direkt en el Memorybitmep dibujar oder Usted erzeugst con @Crear("HPIC",N,S) y el Parámetro "& MEMBMP" una Kopie
Profanhilfe a Crear (hPic,...)
... el aktuellen con MCLS oder MLOADBMP erzeugten Speicherbitmap....
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
13.04.2012  
 



Gibt en efecto MCopyBmp X1,Y1 - X2,Y2 > X3,Y3; N1[, N2] qué después de StartPaint en Screen anwenden kann.
 
13.04.2012  
 




Darin Yo una Teil des Screen kopiert


Und si la Screen (teils, z.B. de Fenstern) verdeckt se?
 
13.04.2012  
 




funkheld
MCopyBmp va sólo en MLoadBmp Bildern:


Der Bildschirmausschnitt el beginnend en X1,Y1 una Breite de X2 Pixel y una Höhe de Y2 Pixel ha, se de el con MLoadBmp geladenem Bild a el Position X3,Y3 kopiert.


Trifft en me pero no a, Yo möchte una Kopie sin siempre dieses "Create"...

Gracias.

Gruss
 
13.04.2012  
 



@Funkheld:
Was genau hast Usted porque antes?

Puedo me nämlich vorstellen el lo una einfachere/ schnellere Herangehensweise son.

Si usted algo como como "Sprites" realisieren möchtest entonces empfehle Yo el Bild en el
Speicher zusammenzusetzen y una vez pro Frame el Zielausgabefenster
a kopieren.

Quasi vom Ablauf her:
 
13.04.2012  
 




funkheld

Was hast Usted gegen DeleteObject?


Wenn Yo algo laufend speichern möchte para Auswerten, por qué muss uno como siempre una neuen Speicherbereich schaffen y otra vez liberación.

Gibt lo nichts el uno sólo el una Reservierten Speicherbereich para una cierto Zweck arbeitet con el Grafik?

Gracias.

If: kanndst du así algo veces otra vez como Nativen Code para XPSE entwickeln ?

Gracias.

Gruss
 
13.04.2012  
 



 
- Página 2 -


funkheld (13.04.12)
If: kanndst du así algo veces otra vez como Nativen Code para XPSE entwickeln ?


Yo glaube el Yo el ya gemacht y imho auch ya Nuevo habe.

Si usted algo ausführen kannst ¿qué es exactamente Usted antes hast, entonces podría Yo veces
drüber grübeln como el meiner Meinung después de al effizientesten a bewerkstelligen
wäre.

Was Yo auch ya "gezeigt" habe es el uno algo como en eigenen/ neuen Hilos
ablaufen dejar kann qué aber sólo en manchen Situationen praktisch es.
 
13.04.2012  
 




funkheld
bpic1& = create("hNewPic", 128,128,rgb(0,0,0))
Ein Bild vom Screen con bitblt fertig en el bpix1& para weiterverarbeiten con drawpic usw.

So ähnlich anders herum :

Gracias.

Gruss
 
13.04.2012  
 



BitBlt kopiert el Bild, el klappt doch auch anders herum. Musst praktisch sólo Quelle y Ziel umkehren.
 
13.04.2012  
 



funkheld (13.04.12)
bpic1& = create("hNewPic", 128,128,rgb(0,0,0))
Ein Bild vom Screen ...


Und ¿qué es exactamente es con usted "Screen"? Ein Ventana oder una hPic?
 
13.04.2012  
 




funkheld
Yo habe el Rutina veces nProc drawhcopy genannt.
Jetzt funktioniert lo.

dx y dy son el Werte de diesem Versatz el bpic&: 30,10
startpaint bpic1&
drawpic bpic&,30,10;0
........
......

 {$cleq}
 {$compiler d:\XProfan11\}
 {$runtime d:\XProfan11\}
declarar bpic&,bpic1&,bpic2&,ende&
ende&=1
bpic& = create("HPIC",-1,"data\\auto.bmp")
Ventana 20,20-600,400
Cls RGB(220,220,220)
bpic1& = create("hNewPic", 400,200,rgb(255,255,0))
bpic2& = create("hNewPic", 128,128,rgb(0,0,0))

Mientras que Ende&

    startpaint bpic1&
    drawpic bpic&,30,10;0
    drawhcopy(bpic2&,hdc,0,0,128,128,30,10,~SRCCOPY)
    endpaint
    drawpic bpic1&,10,10;0
    waitkey
    startpaint bpic1&
    drawpic bpic2&,190,50;0
    endpaint
    drawpic bpic1&,10,10;0

EndWhile

End

nProc drawhPic(long hPic,dc,x,y,xx,yy,dwROP)

    long hDCBits=createCompatibleDC(hDC)
    selectObject(hDCBits, hPic)
    bitBlt(dc,x,y,xx,yy,hDCBits,0,0,dwROP)
    deleteDC(hDCBits)

ENDPROC

nProc drawhCopy(long hPic,dc,x,y,xx,yy,dx,dy,dwROP)

    long hDCBits=createCompatibleDC(hDC)
    selectObject(hDCBits, hPic)
    bitBlt(hDCBits,x,y,xx,yy,dc,dx,dy,dwROP)
    deleteDC(hDCBits)

ENDPROC


Gracias.

Gruss
 
13.04.2012  
 




Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

10.633 Views

Untitledvor 0 min.
Jörg Sellmeyer15.05.2018
Uwe Lang17.01.2017
mein02.06.2013
Heiko Dix10.11.2012
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie