Español
Foro

XPSE: Linie en Mapa de bits dibujar

 
- Página 1 -



Andreas
Koch
¡Hola zusammen,

lo son veces otra vez una Problema, en el Yo no weiterkomme. Lo va por lo tanto, el Dibujar uno Graphen en una Mapa de bits a beschleunigen. Dabei es sólo una vez sólo en aneinander hängende Linien y yo sería el Ganze gerne con XPSE angehen.
Dabei stehe Yo nun antes zwei Problemen.

1. XPSE sabe sólo el Befehl Setpixel, Cuestión: sabe alguien API-Befehl, con el uno una Linie dibujar kann? Einstellungsmöglichkeiten de Farbe, Start- y Endpunkt sowie Linienstärke wären nötig.
2. XPSE características grundsätzlich sólo una vez sólo en el Ventana principal. Kann al Dibujar irgendwie en una Mapa de bits umleiten?

Zu 1.: el kann Yo wahrscheinlich auch todavía incluso remendar, el API-Befehl sería el Ganze sólo vereinfachen.

Zu 2. Yo intenta, me algo de el nProc drawhPicRotated a ziehen, qué esta Función a haben scheint, klappt pero no tan completamente....
KompilierenMarcaSeparación
 {$cleq}
 $I Pixels.Inc
Window 0,0 - %Maxx, %Maxy
var hPic&=create("hNewPic",400,400,$FF)
StartPaint hPic&
UseFont "Arial",30,0,1,0,0
textcolor $FFFF,-1
drawtext 5,0,"XProfan.Com"
textcolor $AA,-1
drawtext 5,0,"XProfan"
EndPaint
DrawPic hPic&,0,0,0

nproc Test

    Parameters hPic&
    long hDCBits=CreateCompatibleDC(hDC)
    selectObject(hDCBits, hPic&)

    WhileLoop 50

        SetPixel(hDCBits,50+&loop,50,0)

    EndWhile

EndProc

Test(hPic&)
DrawPic hPic&,500,0,0
WaitInput

Wäre prima, si ihr me como weiterhelfen könntet.

Schönen Saludo

Andreas Koch
 
05.09.2012  
 



« Dieser Contribución wurde como Solución gekennzeichnet. »

- Página 2 -


Sagen wir simplemente porque como algo "geschludert" wurde.

(habe el Stellen en el Code markiert)
KompilierenMarcaSeparación
 {$cleq}
Window 0,0 - %Maxx, %Maxy
var hPic&=create("hNewPic",400,400,$FF)
StartPaint hPic&
UseFont "Arial",30,0,1,0,0
textcolor $FFFF,-1
drawtext 5,0,"XProfan.Com"
textcolor $AA,-1
drawtext 5,0,"XProfan"
EndPaint
DrawPic hPic&,0,0;0// <-- statt DrawPic hPic&,0,0,0
Test(hPic&)
DrawPic hPic&,500,0;0// <-- statt DrawPic hPic&,500,0,0
WaitInput

nproc Test

    Parameters hPic&
    long hDCBits=CreateCompatibleDC(hDC)
    selectObject(hDCBits, hPic&)

    WhileLoop 50

        SetPixel(hDCBits,50+&loop,50,0)

    EndWhile

    deleteDC(hDCBits)// <-- vergessen, eigentlicher Knackpunkt

ENDPROC



5 kB
Hochgeladen:05.09.2012
Ladeanzahl110
Descargar
 
05.09.2012  
 



 
- Página 1 -


Was macht ihr porque hier?! Alles viel einfacher!

Ein Rechteck: [...] 

Auf hWnd zeichen simplemente así:
KompilierenMarcaSeparación
nProc test

    rectangle(hDC,10,10,100,100)

endpro

Linie oder Kurven gewünscht? Dann simplemente Linien oder Kurvenfunktionen nutzen!

Alle beschrieben y simplemente aufzurufen:
[...] 

Danach va ne Linie de 20,30 después de 100,100 así:
KompilierenMarcaSeparación
nProc test

    MoveToEx(hDC,20,30,0)
    LineTo(hDC,100,100)

ENDPROC


In nProcs posición quasi todos APIs bereit -

como kann lo una sí a garnichts fehlen.

Einzelnes Pixel conjunto?
KompilierenMarcaSeparación
nProc test

    setPixel(hDC,10,20,rgb(50,60,70))
    ...
 
05.09.2012  
 




Andreas
Koch
Das sieht ahora así de, como podría Yo el direkt benutzen. Schönen Dank ya veces.

Yo möchte aber wirklich sólo muy ungern en el Ventana principal malen, eigentlich nada. Kann al no irgendwie umleiten? Yo habe como dieses hdc en el Verdacht, weiß pero no wirklich algo así anzufangen, siehe erster Contribución.

PS: Was bedeutet el DC eigentlich en lang?
 
05.09.2012  
 



DeviceContext ( [...]  )

Usted puede genau tan bueno en una "HPIC" malen -

el ginge entonces z.B. así:
KompilierenMarcaSeparación
nProc test

    parameters aufDiesemHPic&//siehe create("hNewPic",... in XProfan-Hilfe
    var dc&=createCompatibleDC(hDC)// hDC ist von XProfan, siehe XProfan-Hilfe
    selectObject(dc&, aufDiesemHPic&)
    //rummalen

    whileLoop 1000

        setPixel(dc&,rnd(100),rnd(100),rnd($FFFFFF))

    wend

    //dc wieder entfernen da nicht mehr notwendig
    deleteDC(dc&)
    //fertig auf hPic rumgemalt

05.09.2012  
 



Apéndice: Gib auch ne pixels.inc [...]  para Beispiele más rápido Grafik- Effekte

y una hPic.inc auch para fortgeschrittenes Rumbildereihen: [...] 

y mostrar auch veces hier rein: [...] 
 
05.09.2012  
 



 
- Página 2 -



funkheld
Hmm.., qué du media son tan auch otra vez el langsamen internen Grafik-Windowsbefehle(API):
MoveToEx(hDC,20,30,0)
LineTo(hDC,100,100)
Für una flotte Grafik taugen el nichts.

Lo va doch direkt viel más rápido con (DirectX) y/oder con XPIA(ASM) sin esta fertigen langsamen Move y LineTo.

Gruss
 
05.09.2012  
 



LineTo etc. es alles GDI ( [...]  ) -

son alles hochoptimierte Características el Usted wohl incluso (egal wo con) no más rápido

programa kannst. Natürlich kannst Es usted un Linie auch por DX dibujar aber el

es sí una komplett otro Nummer ähnlich como como si una Linie por OpenGL

zeichest. En letzteren beiden Beispielen wirst Usted aber auch mindestens una vez una

Linie anweisen necesario. Siehe hierzu el oglui [...]  samt oglhelper.inc.

Was nun performant es hängt streng genommen a muy vom jeweiligen Anwendungs/

Einzelfall de y bastante pauschal puede ser no sagen el uno con DX una

Linie más rápido en el Schirm bekommt como con el GDI alleine ya wegen

el enormen Vorbereitungsmassnahmen el para DX oder OGL notwendig son

bevor uno überhaupt qué dibujar kann.
 
05.09.2012  
 



Apéndice: Mein no así más rápido Computer características así 100.000 Linien en weniger como 1 Sekunde (953ms) :
KompilierenMarcaSeparación

16 kB
Hochgeladen:05.09.2012
Ladeanzahl204
Descargar
 
05.09.2012  
 




Andreas
Koch
Que el pixels.inc y Anhang Tuve ya rausgefunden y en mi Beispielcode oben instalado. Wenn Yo el correcto sehe, Yo incluso el Umleitung con createcompatibledc correcto gemacht. Trotzdem malt el no correcto.

PS: DirectX hört se zwar auch fresco a, aber hey Personas, antes una Jahr Tuve el Wort "Profan" todavía nie gehört, así rápidamente bin Yo no.
Wenn me qué bringt, mache pero yo auch todavía.
Vorher Yo quería aber eigentlich todavía OpenGL ausloten. Tal vez reicht el para mi Bedürfnisse de.
 
05.09.2012  
 



Yo weiß zwar no ¿qué es exactamente Usted antes hast aber a "Trotzdem malt el no correcto."
kann Yo sólo sagen "Zeig veces her, el Fehler liegt wo anders...".

Andreas Koch (05.09.12)

aber hey Personas, antes una Jahr Tuve el Wort "Profan" todavía nie gehört, así rápidamente bin Yo no.


Willkommen!
 
05.09.2012  
 




Andreas
Koch
Yo en mi ersten Contribución una Beispielcode, wo en una Mapa de bits eigentlich una schwarze Linie gemalt voluntad debería. El vermiss Yo irgendwie....
 
05.09.2012  
 



Sagen wir simplemente porque como algo "geschludert" wurde.

(habe el Stellen en el Code markiert)
KompilierenMarcaSeparación
 {$cleq}
Window 0,0 - %Maxx, %Maxy
var hPic&=create("hNewPic",400,400,$FF)
StartPaint hPic&
UseFont "Arial",30,0,1,0,0
textcolor $FFFF,-1
drawtext 5,0,"XProfan.Com"
textcolor $AA,-1
drawtext 5,0,"XProfan"
EndPaint
DrawPic hPic&,0,0;0// <-- statt DrawPic hPic&,0,0,0
Test(hPic&)
DrawPic hPic&,500,0;0// <-- statt DrawPic hPic&,500,0,0
WaitInput

nproc Test

    Parameters hPic&
    long hDCBits=CreateCompatibleDC(hDC)
    selectObject(hDCBits, hPic&)

    WhileLoop 50

        SetPixel(hDCBits,50+&loop,50,0)

    EndWhile

    deleteDC(hDCBits)// <-- vergessen, eigentlicher Knackpunkt

ENDPROC



5 kB
Hochgeladen:05.09.2012
Ladeanzahl110
Descargar
 
05.09.2012  
 




Andreas
Koch
Ok, otra vez qué gelernt. Gracias, así kann Yo weitermachen.
 
05.09.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

15.683 Views

Untitledvor 0 min.
Rainer Hoefs03.05.2019
Walter Köhler21.09.2018
Andreas Koch08.09.2015
iF12.04.2015
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