Français
Forum

XPSE: ligne number sur Bitmap zeichnen

 
- page 1 -



Andreas
Koch
allô zusammen,

il y a la fois wieder un Problem, chez dem je pas weiterkomme. und dir tout autor, cela Zeichnen eines Graphen sur une Bitmap trop beschleunigen. Dabei ca va seulement einmal seulement um aneinander hängende Linien et je serait cela Ganze volontiers avec XPSE angehen.
Dabei stehe je eh bien avant deux Problemen.

1. XPSE kennt seulement den Befehl Setpixel, Frage: kennt quelqu'un une API-Befehl, avec dem on une ligne number zeichnen peux? Einstellungsmöglichkeiten de la couleur, Start- et Endpunkt sowie Linienstärke wären nötig.
2. XPSE zeichnet grundsätzlich seulement einmal seulement sur dem Hauptfenster. peux on cela Zeichnen irgendwie sur une Bitmap détourner?

trop 1.: cela peux je mir wahrscheinlich aussi encore selbst bricoler, qui API-Befehl serait cela Ganze seulement simplifier.

trop 2. habe je versucht, mir quelque chose aus qui nProc drawhPicRotated trop tirer, quoi cet Funktion trop avons scheint, klappt mais pas so entier....
KompilierenMarqueSéparation
 {$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 son mir là weiterhelfen könntet.

Schönen Salut

Andreas Koch
 
05.09.2012  
 



« cette Beitrag wurde comme Solution gekennzeichnet. »

- page 2 -


dire wir simple weil là quelque chose "geschludert" wurde.

(habe qui se mettre im Code markiert)
KompilierenMarqueSéparation
 {$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
Downloadcounter110
Download
 
05.09.2012  
 



 
- page 1 -


quoi pouvoir son car ici?! Alles viel einfacher!

un Rechteck: [...] 

sur hWnd marque simple so:
KompilierenMarqueSéparation
nProc test

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

endpro

ligne number ou bien Kurven gewünscht? ensuite simple Linien ou bien Kurvenfunktionen nutzen!

Alle beschrieben et simple aufzurufen:
[...] 

après allez ne ligne number de 20,30 pour 100,100 so:
KompilierenMarqueSéparation
nProc test

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

endproc


dans nProcs stehen quasi alle APIs bereit -

là peux es einem oui à garnichts manquer.

Einzelnes Pixel mettons?
KompilierenMarqueSéparation
nProc test

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




Andreas
Koch
cela sieht maintenant so aus, comme pourrait je cela direct benutzen. Schönen Dank déjà la fois.

je voudrais mais wirklich seulement très ungern sur dem Hauptfenster malen, eigentlich gar pas. peux on cela pas irgendwie détourner? j'ai là cet hdc im le doute, sais mais pas wirklich quelque chose avec cela anzufangen, siehe erster Beitrag.

PS: quoi bedeutet cela DC eigentlich dans long?
 
05.09.2012  
 



DeviceContext ( [...]  )

tu peux oui c'est ca si bien sur einem «PCSI» malen -

cela ginge ensuite z.B. so:
KompilierenMarqueSéparation
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  
 



Nachtrag: Gib aussi ne pixels.inc [...]  pour Beispiele plus rapide Grafik- Effekte

et une hPic.inc aussi pour fortgeschrittenes Rumbildereihen: [...] 

et exposition aussi la fois ici rein: [...] 
 
05.09.2012  
 



 
- page 2 -



funkheld
Hmm.., quoi du meinst sommes oui aussi wieder qui langsamen internen Grafik-Windowsbefehle(API):
MoveToEx(hDC,20,30,0)
LineTo(hDC,100,100)
Pour un flotte Grafik valoir qui rien.

und dir doch direct viel plus rapide avec (DirectX) et/ou bien avec XPIA(ASM) sans cet fertigen langsamen Move et LineTo.

Gruss
 
05.09.2012  
 



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

sommes alles hochoptimierte Funktionen qui Du wohl selbst (égal wohin avec) pas plus rapide

programmieren peux. Bien sûr peux Vous ligne number aussi per DX zeichnen mais cela

ist oui une komplett autre numéro ähnlich comment comme si Vous ligne number per OpenGL

zeichest. chez letzteren beiden Beispielen wirst Du mais aussi mindestens einmal une

ligne number anweisen doit. Siehe hierzu qui oglui [...]  velours oglhelper.inc.

quoi eh bien performant ist hängt streng pris trop vom jeweiligen Anwendungs/

Einzelfall ab et entier forfaitaire peux on pas dire cela on avec DX une

ligne number plus rapide sur den Schirm bekommt comme avec qui GDI alleine déjà à cause de

qui enormen Vorbereitungsmassnahmen qui pour DX ou bien OGL notwendig sommes

bevor on überhaupt quoi zeichnen peux.
 
05.09.2012  
 



Nachtrag: mon pas so plus rapide ordinateur zeichnet avec cela 100.000 Linien dans moins comme 1 seconde (953ms) :
KompilierenMarqueSéparation

16 kB
Hochgeladen:05.09.2012
Downloadcounter204
Download
 
05.09.2012  
 




Andreas
Koch
Que le pixels.inc et Anhang J'ai eu déjà rausgefunden et dans mon Beispielcode dessus incorporé. si je cela richtig vois, habe je sogar qui la déviation avec createcompatibledc richtig gemacht. quand même malt qui pas richtig.

PS: DirectX hört sich zwar aussi cool à, mais hey gens, avant einem l'an J'ai eu cela mot "Profan" encore nie est, so vite suis je pas.
si mir cela quoi bringt, fais je cela mais aussi encore.
auparavant voulais je mais eigentlich encore OpenGL ausloten. peut-être reicht cela pour mon Bedürfnisse aus.
 
05.09.2012  
 



je sais zwar pas quoi oui c'est ca Du avant la hâte mais trop "Trotzdem malt qui pas richtig."
peux je seulement dire "Zeig la fois her, qui faute liegt wohin anders...".

Andreas Koch (05.09.12)

mais hey gens, avant einem l'an J'ai eu cela mot "Profan" encore nie est, so vite suis je pas.


Willkommen!
 
05.09.2012  
 




Andreas
Koch
je hab dans mon ersten Beitrag une Beispielcode, wohin sur une Bitmap eigentlich une schwarze ligne number gemalt volonté sollte. qui vermiss je irgendwie....
 
05.09.2012  
 



dire wir simple weil là quelque chose "geschludert" wurde.

(habe qui se mettre im Code markiert)
KompilierenMarqueSéparation
 {$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
Downloadcounter110
Download
 
05.09.2012  
 




Andreas
Koch
Ok, wieder quoi gelernt. merci, avec cela peux je weitermachen.
 
05.09.2012  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

15.700 Views

Untitledvor 0 min.
Rainer Hoefs03.05.2019
Walter Köhler21.09.2018
Andreas Koch08.09.2015
iF12.04.2015
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie