Hogyan csinálják az alábbi műveletet mondjuk c# ban? De mindegy a nyelv mert nem megíratni akarom.
Elmèleti segítsèg kène nekem.
Van egy amőba jàtèk amit böngèszőben lehet jàtszani cpu ellen.
Ès èn olyan programot akarok ami lement az àllàst fèl percenkènt.
De ahhoz hogy ezt megtehesse le kell mentenie a kèpernyőt majd dolgozni a kèppel hogy megàllapíthassa,hogy mi a helyzet. Ezt azèrt akarom mert így írhatnàk olyan progit ami jàtszik amőbàt a neten úgy mint èn.
Nincs túl sok èrtelme de vonz a dolog.
A kèrdèsem az ,hogy hogyan menthetek le kèpet a kèpernyőről hasonlókèpp mint a printscreen gombbal ès utànna hogyan írhatok erre olyan algoritmusokat amikkel dolgozhatok a kèpen.
Egyszerűbb programokat csinàltam màr de itt mi a teendő?
A képmentésre itt egy Delphi-s szösszenet:
procedure TForm1.Button1Click(Sender: TObject);
var Bmp, Tmp : TBitmap;
DCDesk : HDC;
FileName, FileName_Tmp : string;
begin
Form1.Hide;
Sleep(500);
Bmp := TBitmap.Create;
Tmp := TBitmap.Create;
Bmp.Height := Screen.Height;
Bmp.Width := Screen.Width;
Tmp.Height := Screen.Height;
Tmp.Width := Screen.Width;
DCDesk := GetWindowDC(GetDesktopWindow);
BitBlt(Bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, DCDesk, 0, 0, SRCCOPY);
Form1.Show ;
FileName := 'Screenshot_' + FormatDateTime('mm-dd-yyyy-hhnnss', Now());
FileName_Tmp := 'Screenshot_16_' + FormatDateTime('mm-dd-yyyy-hhnnss', Now());
Tmp := GifImage.ReduceColors(Bmp, rmQuantize, dmNearest, 4, 0);
Bmp.SaveToFile(Format('%s.bmp', [FileName]));
Tmp.SaveToFile(Format('%s.bmp', [FileName_tmp]));
ReleaseDC(GetDesktopWindow, DCDesk);
Bmp.Free;
Tmp.Free;
end;
Az eredeti képből csinál egy 4 bites, (16 szinű) képet is, talán kevesebb színnel egyszerűbb dolgozni. Lementeni természetesen nem kell, csak a példa kedvéért volt. Feldolgozáshoz a ScanLine az ideális, csak vigyázz mert csak 24 bit színmélységű képeknél használható, tehát a bitmap-ek 'PixelFormat'-ja pf24bit legyen - ettől függetlenül az lehet csak 16 színű -
- Mostanában kicsit belemélyedtem a képfeldolgozásba, manipulálásba -
Nem olyan régen írtam egy programot ami egy képből, 16 színű, színes karakterekből álló HTML dokumentumot (is) készít.
Ebből is látható, hogy 16 színnel gyorsan, egyszerűen lehet dolgozni. A program többféle formátumba is ment nézz meg egy átalakított kép kódját.
Ha továbbra is ezt az irányt akarod folytatni keress nyugodtan, bár lehet mostanában nem leszek egy pár napig gépközelben, de igyekszem válaszolni.
A lehető legkeservesebb módját találtad meg annak, hogy amoeba programot írj.
De nem baj ez, mert ha ezt az utat végigjárod, akkor abból sokat tanulsz, ami később haszodra lesz.
Nem olyan bonyolult. Kell egy kis matek és geometria - elég a középsulis -, illik ismerni pár szögfüggvényt, minimum a bitmap-ek felépítését. Esetleg egy kis Win Api ismeret sem árt. Ha nem csak copy-paste kódot akarsz mindenből kell egy kicsi, mert a gondok akkor jönnek ha a másolt kód nem vagy nem úgy működik.
Sok sikert hozzá, mert ha végigviszed sok 'okosságot' fogsz tanulni ami később is jó lesz.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!