Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Direktno iscrtavanje po ekranu

[es] :: Pascal / Delphi / Kylix :: Direktno iscrtavanje po ekranu

Strane: 1 2

[ Pregleda: 2394 | Odgovora: 31 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

6ypek
burek pekaric

Član broj: 40233
Poruke: 25
*.nat-pool.nsad.sbb.co.yu.



Profil

icon Direktno iscrtavanje po ekranu24.11.2004. u 09:35

Pozdrav,

treba mi kod/primer ili bilo sta sto moze da mi pomogne oko toga
da bi napravio proceduru kojom bih iscrtavao neki logo, direktno na ekran.
Konkretno, taj logo, slicica, ili bilo sta sto budem hteo da iscrtam bi
trebalo da je NON STOP na ekranu, bez obzira da li korisnik igra igru,
pise neki dokument, surfuje internetom...
Resenja tipa pravljenja transparentnih prozora nisu ono sto mi treba,
dakle, treba mi info o tome kako se nesto salje direktno na ekran, a ne
ono GetDesktopWindow i tako to..

Hvala unapred svima koji budu znali nesto na ovu temu..
24.11.2004. u 09:35 

sasas
Saša Slavnić
radim za neke švabe

Član broj: 35478
Poruke: 614
*.zaslon-telecom.si.



Profil

icon Re: Direktno iscrtavanje po ekranu24.11.2004. u 10:27
Direktno crtanje po ekranu u Windowsima ne postoji.
Za pisanje dokumenata, surfanje i sl. mozes razmisliti da napravis svoj prozor sa StayOnTop atributom.

Nesto ovako:

SetWindowPos(Form1.Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE or
SWP_NOMOVE);

Za igre mislim da to ne mozes uraditi.

ss.
When something is hard to do, then it's not worth doing.
24.11.2004. u 10:27 

Rapaic Rajko
programer, Grappolo
Bgd

Član broj: 4105
Poruke: 377
217.119.242.*



Profil

icon Re: Direktno iscrtavanje po ekranu24.11.2004. u 12:32
Dakle, ovako nesto:
Code:

  var acanvas: TCanvas;
       aDC: HDC;

  begin
    acanvas := TCanvas.Create;
    aDC := GetDC(0);   // ovo ti daje DC desktopa
    acanvas.Handle := aDC;
    ....  // neko crtanje
  end;


Medjutim, nije sve tako jednostavno. Treba ti i neki app/thread koji ce konstantno da iscrtava to sto treba itd. itd. uglavnom ima posla.

Rajko
24.11.2004. u 12:32 

milika
Milika Delic
Kobe, Japan

Član broj: 13221
Poruke: 117
*.yu
Via: [es] mailing liste

ICQ: 216983047
Sajt: www.milika.net


Profil

icon Re: Direktno iscrtavanje po ekranu24.11.2004. u 14:13
Uglavnom je nemoguce, sem ako neces da pravis wrapper za OpenGL i za directX
sve vaznije verzije
znaci - zaboravi. ili ako si genije molio bih source kod ....

pozdrav..
Besplatna igrica MILIONER
http://www.milika.net
24.11.2004. u 14:13 

6ypek
burek pekaric

Član broj: 40233
Poruke: 25
*.nat-pool.nsad.sbb.co.yu.



Profil

icon Re: Direktno iscrtavanje po ekranu24.11.2004. u 21:27
Joj narode..

Sad ce se mnogi naljutiti, ali zaista ne bih da se svadjam, prosto
samo da kazem to da sam video da je jedan decko to uradio i to
je perfektno radilo.. Samo sto je decko malo umobolan, i toliko je
ljubomoran na to sto radi, tako da mi je prosto ispod chasti da
njega pitam za bilo kakvu pomoc...

Elem, za crtanje po desktopu, to znam, radio sam programe koji
iscrtavaju kojekave animacije po desktopu (one sexy devojke i sl)
tako da razumem u potpunosti taj kod sto ste mi kopirali, ali..

Hmh.. ma dobro, nije propao svet.. naci cu ja sigurno kako se to
radi, ionako dosad nista sto sam naumio nisam ostavio
nedovrseno :) U svakom slucaju hvala sto ste bar procitali
pitanje.. :(
24.11.2004. u 21:27 

neor
Nenad Orlovic

Član broj: 26828
Poruke: 74
*.metrohive.net.



Profil

icon Re: Direktno iscrtavanje po ekranu25.11.2004. u 07:22
Ako je neko napravio program koji to radi u svakoj situaciji onda to nije radio u Delphiju.
Verovatno je napisao drajver a to Delphi ne moze.
Bez toga ostaje ti samo da zalepis nalepnicu na monitor :)
25.11.2004. u 07:22 

sasas
Saša Slavnić
radim za neke švabe

Član broj: 35478
Poruke: 614
*.zaslon-telecom.si.



Profil

icon Re: Direktno iscrtavanje po ekranu25.11.2004. u 07:38
Citat:
neor: Verovatno je napisao drajver a to Delphi ne moze.


Zasto ne moze? Imas neka iskustva s tim?

ss.
When something is hard to do, then it's not worth doing.
25.11.2004. u 07:38 

6ypek
burek pekaric

Član broj: 40233
Poruke: 25
*.nat-pool.nsad.sbb.co.yu.



Profil

icon Re: Direktno iscrtavanje po ekranu25.11.2004. u 10:37

Ma ima dosta ljudi, koji su pre par godina culi da je razlika izmedju
C-a i Pascal-a u tome sto se u Pascal-u ne mogu pisati drajveri..
Medjutim, i te kako se danas mogu pisati drajveri u Pascalu (citaj
Delphi-u), samo sto pri pisanju drajvera dolazi do pretrpavanja
ekrana silnim typecast-ovima, pa to ne lichi vishe ni na shta..

Dodushe video sam dosta lepih strukturiranih primera, gde ljudi
lepo izdeklarishu gomilu novih tipova i struktura i koriste ih
prilikom typecast-a.. Tako da to ipak moze i lepo da izgleda..

Elem, poenta je da se u Delphi-u mogu pisati drajveri :)
Zato sam u prvi mah i pitao ovde za ovaj moj problem, mada
moram priznati da mi je ona ideja sa nalepnicom sve bliza :)))
25.11.2004. u 10:37 

neor
Nenad Orlovic

Član broj: 26828
Poruke: 74
*.metrohive.net.



Profil

icon Re: Direktno iscrtavanje po ekranu25.11.2004. u 10:50
Nekoliko puta na Borlandovim news grupama je bilo to pitanje i odgovor je da Delphi samo zna da iskompajlira obicne windows PE izvrsne fajlove (exe i dll).
Drajveri imaju drugaciju strukturu kakvu Delphi ne moze da napravi.
Nikad nisam pisao drajvere pa ne znam konkretno sta su razlike.

Postoje neki zaobilazni putevi ali su obicno specijalizovani za odredjeni hardver kao sto su WinPcap, WinDriver, PortIO koji se instaliraju kao drajveri ali su otvoreni za kontrolu od strane drugih aplikacija preko parametara ili callback procedura.
Ne znam da li postoji nesta slicno za video drajvere.
25.11.2004. u 10:50 

Rapaic Rajko
programer, Grappolo
Bgd

Član broj: 4105
Poruke: 377
217.119.242.*



Profil

icon Re: Direktno iscrtavanje po ekranu25.11.2004. u 14:38
Hm, da...sad sam tek skontao pitanje. Crtanje na EKRANU, a ne na desktop-u, tako je trebalo reci. Ne vidim kako drugacije bez driver-a; znaci, nemam sta da dodam vec recenom.

Rajko
25.11.2004. u 14:38 

milika
Milika Delic
Kobe, Japan

Član broj: 13221
Poruke: 117
*.yu
Via: [es] mailing liste

ICQ: 216983047
Sajt: www.milika.net


Profil

icon Re: Direktno iscrtavanje po ekranu25.11.2004. u 23:11
Daj ne pricaj svasta od drivera postoji, u winu, jos samo vxd struktura za
koju
sam video primere u Delphiju.....

A sto se tice ovog direktnog iscrtavanja ni driver bas ne bi pomogao,
morao bi da pravis GDI, DirectX, OpenGL wrapper i to za sve
majro verzije istih, poso tipa 8meseci il slicno...

Pozdrav..
Besplatna igrica MILIONER
http://www.milika.net
25.11.2004. u 23:11 

6ypek
burek pekaric

Član broj: 40233
Poruke: 25
*.nat-pool.nsad.sbb.co.yu.



Profil

icon Re: Direktno iscrtavanje po ekranu26.11.2004. u 01:29

Ok, dakle, shvatili smo koliko mi vremena treba za to, a da li bi mogli samo
jos da ulozite toliko napora, samo da mi kopirate par linkova, makar gde bih
mogao da potrazim info o tome, jer zaista nemam ideju ni odakle da pocnem
pa ako iko zna makar toliko, pliz nek me uputi..

Hvala unapred, a i hvala svima koji su bar probali da pomognu, zaista mi
znaci ovo, jer dosad nigde nisam imao ovoliko odgovora.. uglavnom je ta
tema bila ignorisana..

:)
26.11.2004. u 01:29 

sasas
Saša Slavnić
radim za neke švabe

Član broj: 35478
Poruke: 614
*.zaslon-telecom.si.



Profil

icon Re: Direktno iscrtavanje po ekranu26.11.2004. u 08:39
Citat:
milika: Daj ne pricaj svasta od drivera postoji, u winu, jos samo vxd struktura za
koju
sam video primere u Delphiju.....


Ovo mi nije jasno, mozes li ovo malo da preformulises ovu recenicu, da dobije kakvog smisla?

Citat:

A sto se tice ovog direktnog iscrtavanja ni driver bas ne bi pomogao,
morao bi da pravis GDI, DirectX, OpenGL wrapper i to za sve
majro verzije istih, poso tipa 8meseci il slicno...


Jel' imas kakva iskustva s ovim, ili pricas 'nako? Imas li bar kakav link na kom bi se moglo procitai nesto malo vise o ovome?

ss.
When something is hard to do, then it's not worth doing.
26.11.2004. u 08:39 

mack

Član broj: 413
Poruke: 49
*.dss.org.yu.



Profil

icon Re: Direktno iscrtavanje po ekranu26.11.2004. u 08:39

Gledaj ako hoces pravo resenje onda Je Milika u pravu moras da se igras
sa directX-om.Pisati kompletan drajver za video karticu je malo naporno
eventualno u linuxu da malo tumbas source,ali to ti je onda namensko resenje
svaka kartica drugi drajver!

Polovicno resenje mozes postici sa api funkcijom setwindowpos i ona ce to da
radi u nekim igrama (npr CS),u nekima nece uopste(npr. neke stare igrice iz dos-a)
a negde mozes postici vidljivo iscrtavanje drzeci neki taster i stalno pozivajuci
tu f-ju(npr scroll lock->Milika :-))

Lepo resenje za ovo se nalazi u nvidijinim drajverima,znate ono "display nvidia logo"
u drajveru.E sad ako bi se kontaktirao neki od programera sa nvidinog foruma pa da
on dropne malo sourcea nama serbima...

p.s. pozdrav za Miliku
mack
26.11.2004. u 08:39 

morlic
Milos Orlic
Beograd

Moderator
Član broj: 6081
Poruke: 731
*.210.EUnet.yu.



Profil

icon Re: Direktno iscrtavanje po ekranu26.11.2004. u 10:05
Odstampaj logo na malu nalepnicu i zalepi je na zeljeni deo ekrana. Ovim resenjem cak ne opterecujes dodatno cpu, a radi cak i kad je komp iskljucen :)
26.11.2004. u 10:05 

sasas
Saša Slavnić
radim za neke švabe

Član broj: 35478
Poruke: 614
*.zaslon-telecom.si.



Profil

icon Re: Direktno iscrtavanje po ekranu26.11.2004. u 10:10
@morlic
To resenje je vec bilo predlozeno (a izgleda da ce biti i usvojeno ;)

ss.
When something is hard to do, then it's not worth doing.
26.11.2004. u 10:10 

milika
Milika Delic
Kobe, Japan

Član broj: 13221
Poruke: 117
*.yu
Via: [es] mailing liste

ICQ: 216983047
Sajt: www.milika.net


Profil

icon Re: Direktno iscrtavanje po ekranu26.11.2004. u 12:57
Pa za windows postoji sledeca executabilne structure
exe dll i vxd - eto jel to sad jasnije

Za ovo drugo - da imam iskustva ja sam autor jednog od
programa za igraone i prikazujem njihovo preostalo
vreme ali samo na zahtev (scroll lock :))) ) to radi u 99%
programa ali koristi timer petlju za prikaz i flickeruje...

pozdrav svima...
Besplatna igrica MILIONER
http://www.milika.net
26.11.2004. u 12:57 

milika
Milika Delic
Kobe, Japan

Član broj: 13221
Poruke: 117
*.yu
Via: [es] mailing liste

ICQ: 216983047
Sajt: www.milika.net


Profil

icon Re: Direktno iscrtavanje po ekranu26.11.2004. u 12:57
Ajd ne sali se ... :)
Besplatna igrica MILIONER
http://www.milika.net
26.11.2004. u 12:57 

vladab
Vladimir Bašanović
Beograd

Član broj: 9512
Poruke: 496
*.etf.bg.ac.yu.



Profil

icon Re: Direktno iscrtavanje po ekranu26.11.2004. u 13:14
A mozda da se obrati screen bufferu ili kako se to vec zove? Treba da sazna adresu buffera i da u njega periodicno upisuje tekst koji treba da se ispisuje. Ja ovo nisam probao, ali mi je pominjao jedan drug, pa nisam siguran kako radi, ali mi deluje kao dobra ideja.
Seven deadly sins
Seven ways to win
Seven holy paths to hell
And your trip begins

Seven downward slopes
Seven bloodied hopes
Seven are your burning fires,
Seven your desires...
26.11.2004. u 13:14 

6ypek
burek pekaric

Član broj: 40233
Poruke: 25
*.nat-pool.nsad.sbb.co.yu.



Profil

icon Re: Direktno iscrtavanje po ekranu26.11.2004. u 13:32
mh :)
zasad GetDC(0) radi posao i flikeruje, ali video sam da je jedan decko
uradio tako nesto, i toliko je to perfektno izgledalo, i stabilno na ekranu
da je prosto licilo kao da je zalepljeno na ekran :) jos je stavio i neki
alpha blending, da bude malo providno..

jednom recju super je izgledalo, mada.. za overlay, mislim da je za to
potreban isto neki region, bas kao i sa transparentim prozorima, tj
tako skrecem sa teme.. cilj je nekako uloviti ekran.. :)

jedan lik sa EFneta mi je dao zanimljivu ideju, naime, covek je radio
nekakav pristup paralelnom portu i bakcjao se sa tim, pa mi je
predlozio da pogledam tu oblast, ako mi ne bude previse otezala
posao.. E sad.. jos nisam stigao to da pogledam, jer sam probavao
nesto sa GDI da budzim, i ako uspem, javicu vam :)
26.11.2004. u 13:32 

[es] :: Pascal / Delphi / Kylix :: Direktno iscrtavanje po ekranu

Strane: 1 2

[ Pregleda: 2394 | Odgovora: 31 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.