| |
|
|
- 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 |
|
|
| |
|
|
|
« Dieser Contribución wurde como Solución gekennzeichnet. » |
|
| 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
|
|
|
| |
|
|
|
|
Dieter Zornow | Yo arbeite grundsätzlich no con XPSE, aber Xprofan ha doch el Befehle Line y LineTo. Um en una Mapa de bits para dibujar musst du Startpaint Handle y Endpaint uso. |
|
|
| XProfan X2Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 05.09.2012 ▲ |
|
|
|
|
Andreas Koch | Gracias. Aber el wusste Yo ya. Lo va por lo tanto, dass el con el Profano Befehlen demasiado tiempo dauert y yo el Ganze con XPSE beschleunigen möchte. |
|
|
| |
|
|
|
funkheld | ¡Hola, Yo hatte así algo ya veces con XPIA gemacht, hay son auch algunos Beispiele drin. XPSE y XPIA puede sí zusammen genutzt voluntad. Tuve damals no grossen Geschwindigkeitsunterschied determinar puede, porque el Grafik-Windows-Befehle(API-Befehl ) auch en XPIA(ASM) genutzt voluntad. Das einzige qué beschleunigt se son bajo umständen Schleifen y Zählvariablen , esta Tiempo se aber otra vez por el Grafik-Windows-Befehle(API-Befehl ) verschlampt.
Ausser du schreibst ahora incluso una Linienprogramm usw., como musst du entonces aber auch otra vez el Punkte selber ausrechnen con ASM, nämlich si du dafür otra vez el Plotbefehl(API-Befehl ) nimmst , va el Zeitschlamperei otra vez los.
Yo arbeite grundsätzlich no con XPSE, aber Xprofan ha doch el Befehle Line y LineTo. Um en una Mapa de bits para dibujar musst du Startpaint Handle y Endpaint uso.
Ohne XPSE oder XPIA es el gesamte Profanprogramm grottenlangsam.
Schau hier veces para XPIA : [...] Das einzige qué hay gross geschleunigt se Es el Zählschleife.
Gruss |
|
|
| |
|
|
|
funkheld |
Dann bliebe como todavía el Umlenken el Zeichenbefehle en una Mapa de bits....
Usted necesidad el Anfangsadresse el Mapa de bits el du ändern möchtest, Breite, Höhe y Bitmaptiefe, entonces kannst du loslegen con XPIA.
Gruss |
|
|
| |
|
|
|
Andreas Koch | Sorry para el verfrühte Posting. Tuve el Link a el Ejemplo no gesehen. Yo denke, así kann Yo qué anfangen. Aunque erhalte Yo siempre el Fehlermeldung, dass él GetXpiaProcAddress no sabe. Muss Yo dafür todavía algo einstellen? KompilierenMarcaSeparación $MAKE CLE
$H Windows.ph
Declare hwin&,x&,y&,f&,hdcwin&
Window 20,20-200,200
hWin& = Create("Window", %hWnd, "Test", 250, 20, 650,500)
hDCWin& = ~GetWindowDC(hWin&)
If 0
AsmStart pset
Parameters hdcwin&,x&,y&,f&
mov ecx,para1
mov eax,para2
mov ebx,para3
mov edi,para4
invoke SetPixel,ecx,eax,ebx,edi
AsmEnd
EndIf
whileloop 0,100,1
x&=&loop
y&=&loop
f&=$ff0000
Call(GetXpiaProcAddress(XpiaModule&,"pset"),hdcwin&,x&,y&,f&)
endwhile
WaitInput
End
|
|
|
| |
|
|
|
funkheld |
GetXpiaProcAddress
Yo glaube el Aufrufname ha se geändert ?
Aber "Setpixel" verwendet otra vez esta langsame WindowsAPI.
Gruss |
|
|
| |
|
|
|
| Was macht ihr porque hier?! Alles viel einfacher!
Ein Rechteck: [...]
Auf hWnd zeichen simplemente así: KompilierenMarcaSeparación 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 In nProcs posición quasi todos APIs bereit -
como kann lo una sí a garnichts fehlen.
Einzelnes Pixel conjunto? KompilierenMarcaSeparación |
|
|
| |
|
|
|
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? |
|
|
| |
|
|
|
| |
|
|
|
| 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: [...] |
|
|
| |
|
|
|
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 |
|
|
| |
|
|