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

Direktno iscrtavanje po ekranu

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

Strane: 1 2

[ Pregleda: 7192 | Odgovora: 31 ] > FB > Twit

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 - pre 236 meseci
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..
 
Odgovor na temu

sasas
Saša Slavnić
radim za neke švabe

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



Profil

icon Re: Direktno iscrtavanje po ekranu24.11.2004. u 10:27 - pre 236 meseci
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.
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
217.119.242.*



+62 Profil

icon Re: Direktno iscrtavanje po ekranu24.11.2004. u 12:32 - pre 236 meseci
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
 
Odgovor na temu

milika
Milika Delic
RD
NS

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



Profil

icon Re: Direktno iscrtavanje po ekranu24.11.2004. u 14:13 - pre 236 meseci
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..
 
Odgovor na temu

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 - pre 236 meseci
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.. :(
 
Odgovor na temu

neor
Nenad Orlovic

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



Profil

icon Re: Direktno iscrtavanje po ekranu25.11.2004. u 07:22 - pre 236 meseci
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 :)
 
Odgovor na temu

sasas
Saša Slavnić
radim za neke švabe

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



Profil

icon Re: Direktno iscrtavanje po ekranu25.11.2004. u 07:38 - pre 236 meseci
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.
 
Odgovor na temu

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 - pre 236 meseci

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 :)))
 
Odgovor na temu

neor
Nenad Orlovic

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



Profil

icon Re: Direktno iscrtavanje po ekranu25.11.2004. u 10:50 - pre 236 meseci
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.
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
217.119.242.*



+62 Profil

icon Re: Direktno iscrtavanje po ekranu25.11.2004. u 14:38 - pre 236 meseci
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
 
Odgovor na temu

milika
Milika Delic
RD
NS

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



Profil

icon Re: Direktno iscrtavanje po ekranu25.11.2004. u 23:11 - pre 236 meseci
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..
 
Odgovor na temu

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 - pre 236 meseci

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..

:)
 
Odgovor na temu

sasas
Saša Slavnić
radim za neke švabe

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



Profil

icon Re: Direktno iscrtavanje po ekranu26.11.2004. u 08:39 - pre 236 meseci
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.
 
Odgovor na temu

mack

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



Profil

icon Re: Direktno iscrtavanje po ekranu26.11.2004. u 08:39 - pre 236 meseci

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
 
Odgovor na temu

morlic
Milos Orlic
Beograd

Član broj: 6081
Poruke: 735
*.210.EUnet.yu.



+1 Profil

icon Re: Direktno iscrtavanje po ekranu26.11.2004. u 10:05 - pre 236 meseci
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 :)
 
Odgovor na temu

sasas
Saša Slavnić
radim za neke švabe

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



Profil

icon Re: Direktno iscrtavanje po ekranu26.11.2004. u 10:10 - pre 236 meseci
@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.
 
Odgovor na temu

milika
Milika Delic
RD
NS

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



Profil

icon Re: Direktno iscrtavanje po ekranu26.11.2004. u 12:57 - pre 236 meseci
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...
 
Odgovor na temu

milika
Milika Delic
RD
NS

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



Profil

icon Re: Direktno iscrtavanje po ekranu26.11.2004. u 12:57 - pre 236 meseci
Ajd ne sali se ... :)
 
Odgovor na temu

vladab
Vladimir Bašanović
Beograd

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



Profil

icon Re: Direktno iscrtavanje po ekranu26.11.2004. u 13:14 - pre 236 meseci
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.
 
Odgovor na temu

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 - pre 236 meseci
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 :)
 
Odgovor na temu

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

Strane: 1 2

[ Pregleda: 7192 | Odgovora: 31 ] > FB > Twit

Postavi temu Odgovori

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