Hallo, guten Tag.
Wie kann ich hier die Adresse herausfinden um die Grafik zu beeinflussen :
MCls 128,128
Danke.
Gruss
Hallo, guten Tag.
Wie kann ich hier die Adresse herausfinden um die Grafik zu beeinflussen :
MCls 128,128
Danke.
Gruss
Hallo!
Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.
Wenn du Fragen hast, kannst du dich gerne jederzeit an @Maximilian Rupp wenden
Hinweis:
Jup danke.
Ich suche die Zahlenadresse.
Gruss
Dann solltest du dir evtl mal Create("hPic",N,S) anschauen.
Direkten Zugriff auf den Grafikspeicher gibts per DirectX, indirekten auch per DIB. Für DIBs hatte ich mal eine Dll zur Vereinfachung erstellt. Such doch mal in den Foren danach, "Dib.dll". Sonst muss ichs bei Gelegenheit mal raussuchen.
Habe ich gefunden.
---------------------------
Direkten Zugriff auf den Grafikspeicher gibts per DirectX
--------------------------
Und wie geht das ?
Danke.
Gruss
Habs nie benutzt. Indirekt per DIB ist es viel einfacher und kompatibler zu den Fensterobjekten.
Jup, danke.
Mit meinem Programm unten kann ich mit der DIB-Dll meine Grafik unter XPIA beeinflussen.
Wie kann ich jetzt am schnellstem mit XPIA die Farbpunkte abfragen?
Da die Farbe nur 3-Byte hat und die Register bei ASM 4 Byte einlesen, weiss ich nicht wie das funktioniert.
Ich wollte jetzt aber nicht 3 einzelne Byte abfragen mit XPIA.
Vielleicht weiß FRABBING etwas, wie es machbar ist, oder muß die DIB-Dll auf 4-Byte (32Bit-Farben) umgestellt werden?
Danke.
Gruss
$MAKE CLE
declare dib&,dibptr&,groesse&,bild&
DEF CreateDIB(2) !"dib","CreateDIB"
DEF FreeDIB(1) !"dib","FreeDIB"
DEF DrawDIB(4) !"dib","DrawDIB"
DEF CloneDIB(1) !"dib","CloneDIB"
dib&=usedll("dib.dll")
dibptr&=CreateDIB(700,700)
groesse&=Long(dibptr&,20)-21
bild&= Long(dibptr&,40)
Window 20,20-750,770
Cls RGB(255,255,255)
If 0
AsmStart _dib(bild&,groesse1&)
mov ecx,0
mov eax,para1
.While ecx<para2
mov [eax],00FF00h
Add eax,3
Add ecx,3
.Endw
AsmEnd
EndIf
Call(GetXpiaProcAddress(XpiaModule&,"_dib"),bild&,groesse&)
DrawDIB(%hdc,10,10,dibptr&)
WaitKey
FreeDIB(dibptr&)
End
Alles anzeigen
Byteweise ist's am einfachsten, es sei denn, du färbst einfarbig, dann per Long, z.B. $ffffff, bzw. $00ffffff usw. Byteweise rotieren lassen und ändern geht auch.
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!