Ekran Görüntüsü - Farklı Sorun
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Ekran Görüntüsü - Farklı Sorun
Merhaba Arkadaşlar,
Delphi XE2 Kullanarak Aşağıdaki Linklerde Örneklerden birini kullanarak Ekran Görüntüsünü başarılı olarak alıyordum.Ekran Görüntüsü aldığım esnada bilgisayardaki bir oyun açık ve bu oyunun ekran görüntüsünü kayıt ediyorum.
Şimdi şöyle bir sorun var ben bu görüntü alma işini uzun zamandır başarı ile yapıyordum ancak oyun bazı güncellemeler yaptı ve bundan sonra oyun ekranda iken benim metodlarım oyunun ekran görüntüsünü vermiyor.Sanki hiç oyun açık değilmiş gibi
masaüstü'nün resmini kayıt ediyor.Oyun tam ekran modunda iken oluyor bu pencere moduna geçtiğinde sorun yine yok.
Nasıl bir şey yapılmış olabilir acaba.Ben nasıl tekrardan oyun açıkken ekran görüntüsü resmini alabilirim.?
http://delphi.about.com/od/adptips1999/ ... enshot.htm
http://delphi.about.com/od/adptips2006/ ... active.htm
Delphi XE2 Kullanarak Aşağıdaki Linklerde Örneklerden birini kullanarak Ekran Görüntüsünü başarılı olarak alıyordum.Ekran Görüntüsü aldığım esnada bilgisayardaki bir oyun açık ve bu oyunun ekran görüntüsünü kayıt ediyorum.
Şimdi şöyle bir sorun var ben bu görüntü alma işini uzun zamandır başarı ile yapıyordum ancak oyun bazı güncellemeler yaptı ve bundan sonra oyun ekranda iken benim metodlarım oyunun ekran görüntüsünü vermiyor.Sanki hiç oyun açık değilmiş gibi
masaüstü'nün resmini kayıt ediyor.Oyun tam ekran modunda iken oluyor bu pencere moduna geçtiğinde sorun yine yok.
Nasıl bir şey yapılmış olabilir acaba.Ben nasıl tekrardan oyun açıkken ekran görüntüsü resmini alabilirim.?
http://delphi.about.com/od/adptips1999/ ... enshot.htm
http://delphi.about.com/od/adptips2006/ ... active.htm
- sabanakman
- Kıdemli Üye
- Mesajlar: 3077
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: Ekran Görüntüsü - Farklı Sorun
Bir ihtimal oyun programı birden fazla monitör varmış gibi ayrı ekran oluşturup, 2. masa üstünde oyun çalıştırıyorsa ve sizin programdan ilk masa üstünün resmi çekiliyorsa böyle bir etki oluşabilir.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Re: Ekran Görüntüsü - Farklı Sorun
1 - Stream ' i temizle
2 - Aktif olan pencerenin görüntüsünü almaya çalış. Google da örnekler var minimize bir ekranın bile san ki maximize imiş gibi görüntüsünü alabilirsin bu mümkündür.
2 - Aktif olan pencerenin görüntüsünü almaya çalış. Google da örnekler var minimize bir ekranın bile san ki maximize imiş gibi görüntüsünü alabilirsin bu mümkündür.
Re: Ekran Görüntüsü - Farklı Sorun
aktif pencerenin ekran görüntüsünü almaya çalıştım o da olmadı.
Stream'a temizlemekle nasıl olacak ?
Ayrıca 2. masaüstü'nün görüntüsünü nasıl alıcam öyle bir şey olmuş olsa bile.
Stream'a temizlemekle nasıl olacak ?
Ayrıca 2. masaüstü'nün görüntüsünü nasıl alıcam öyle bir şey olmuş olsa bile.
Re: Ekran Görüntüsü - Farklı Sorun
Alt+Printscreen yapınca görüntü alabiliyormusunuz ?
Ayakkabıyı sefaletten
Çok sonraları tanıdım
Öyle ufuklarda mı olurmuş Allah'ım
Giyer giyer koşardım
Toprağın dostluğundan
Oyuncaklar yaptım çamurdan
Tenimin rengini aldım topraktan
Sen bakma esmerliğim sonradan...
http://www.tcct.us
Re: Ekran Görüntüsü - Farklı Sorun
hayır vermiyor.Aşağıdaki metod ile denedim 2.ve 3. resimler full siyah çıkıyor diğerleri masaüstünün resmini veriyor
Kod: Tümünü seç
procedure TForm2.GetScreenShot(shotType: TScreenShotType; var img: TJpegImage);
var
w, h: integer;
DC: HDC;
hWin: Cardinal;
r: TRect;
tmpBmp: TBitmap;
begin
hWin := 0;
case shotType of
sstActiveWindow:
begin
// only the active window
hWin := GetForegroundWindow;
DC := GetWindowDC(hWin);
GetWindowRect(hWin, r);
w := r.Right - r.Left;
h := r.Bottom - r.Top;
end; // sstActiveWindow
sstActiveClientArea:
begin
// only the active client area (active window minus title bars)
hWin := GetForegroundWindow;
DC := GetDC(hWin);
GetWindowRect(hWin, r);
w := r.Right - r.Left;
h := r.Bottom - r.Top;
end; // sstActiveClientArea
sstPrimaryMonitor:
begin
// only the primary monitor. If 1 monitor, same as sstDesktop.
hWin := GetDesktopWindow;
DC := GetDC(hWin);
w := GetDeviceCaps(DC, HORZRES);
h := GetDeviceCaps(DC, VERTRES);
end; // sstPrimaryMonitor
sstDesktop:
begin
// ENTIRE desktop (all monitors)
DC := GetDC(GetDesktopWindow);
w := Screen.DesktopWidth;
h := Screen.DesktopHeight;
end; // sstDesktop
else
begin
Exit;
end; // case else
end; // case
// convert to jpg
tmpBmp := TBitmap.Create;
try
tmpBmp.Width := w;
tmpBmp.Height := h;
BitBlt(tmpBmp.Canvas.Handle, 0, 0, tmpBmp.Width, tmpBmp.Height, DC, 0,
0, SRCCOPY);
img.Assign(tmpBmp);
finally
ReleaseDC(hWin, DC);
FreeAndNil(tmpBmp);
end; // try-finally
end;
Re: Ekran Görüntüsü - Farklı Sorun
oyun açıkken monitör count'unu aldım 1 geldi.fazladan monitörde oluşturmamış.Yanlız şöyle bir durum var ekran görüntüsü almak için oyunda bir kısayol var.F8 e basınca mesela kendi screenshot alıyor.
Re: Ekran Görüntüsü - Farklı Sorun
sanırım oyun direct draw yada direct x kullanıyor. bu sistemlerden resim çekmek için dahha farklı yöntemler var, onları deneyiniz.
Re: Ekran Görüntüsü - Farklı Sorun
mesela nasıl bir yöntem.nette pek bir şey bulamadım.Hangi konuları araştırmam gerektiğini söyleyebilir misiniz.?
Re: Ekran Görüntüsü - Farklı Sorun
Vallahi ne yalan söyliyeyim hiç bir şey anlamadım.anlamaya çalıştıklarımı indirdim hiç bir şey yapamadım.ne kurabildim ne kullanabildim.
Hangisini indirmek gerekiyor .?
Hangisini indirmek gerekiyor .?
Re: Ekran Görüntüsü - Farklı Sorun
Zaten biraz karmaşık bir konu. Öncelikle direct X üzerine bir kaç metin okumanızı öneririm. Direct X'den görüntü yakalamak zor bir iştir. Verilen linkteki direct X SDK'ları Direct X destekli grafik nesneleri yaratmanızı sağlar. Direct X komutları ile ekran görüntüsü alınabileceği forumlarda tartışılıyor. Ancak ben denemedim. Snagit gibi programlar bu görüntüleri kaydedebiliyor.
Re: Ekran Görüntüsü - Farklı Sorun
Şimdi şöyle bir durum var,
Sonuç olarak kocaman oyun.Bundan önce DirectX yokmuydu da bir anda DirectX'e geçtiler ve ben ekran görüntüsü alamaz hale geldim.
Bunun içinde başka bir iş var bence.Programın en önemli özelliği çalışmıyor şuan ve proje elimde patlamış durumda.Başka neler deneyebilirim bu ekran görüntüsü ile.?
Teşekkürler,
İyi Çalışmalar.
Sonuç olarak kocaman oyun.Bundan önce DirectX yokmuydu da bir anda DirectX'e geçtiler ve ben ekran görüntüsü alamaz hale geldim.
Bunun içinde başka bir iş var bence.Programın en önemli özelliği çalışmıyor şuan ve proje elimde patlamış durumda.Başka neler deneyebilirim bu ekran görüntüsü ile.?
Teşekkürler,
İyi Çalışmalar.
Re: Ekran Görüntüsü - Farklı Sorun
Öncelikle program direct X kullanıyor mu kullanmıyor mu onu belirlemenizi öneririm. Oyun direct x yerine opengl 'de kullanıyor olabilir.
Re: Ekran Görüntüsü - Farklı Sorun
peki bu tür sistemler kullanmadan oyun kocaman bir fps oyunu yazmak mümkün müdür.? Çünkü eğer mümkün değilse sorun da bu değildir.Dediğim gibi daha önce screen Shot alabiliyor iken şimdi alamıyorum.
Ayrıca SDK Ları indirip yükleyemedin XE2 için nasıl anlayabilirim Direct X veya OpenGL Kullanıp kullanılmadığını.
Teşekkürler,
İyi Çalışmalar.
Ayrıca SDK Ları indirip yükleyemedin XE2 için nasıl anlayabilirim Direct X veya OpenGL Kullanıp kullanılmadığını.
Teşekkürler,
İyi Çalışmalar.