Selam arkadaşlar;
bir proje yapmak istiyorum.;
Ekran görüntüsünün 5 dk. ,10 dk. , veya bizim belirleyeceğimiz bir aralıkta ekranın görüntüsünü jpg veya her hangi bir formatta belirlediğimiz bir klasöre çekip kaydetmeye yarayan kodlar veya bir bileşen varmı?
Bu konu ile ilgili çalışılmış örnek veya sizin fikirleriniz ne olabilir bu konuda.
Teşekkürler;
ekran görüntüsünün 5 dk. ara ile jpg resmini çekmek
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 93
- Kayıt: 01 Eki 2008 07:04
Re: ekran görüntüsünün 5 dk. ara ile jpg resmini çekmek
forumda bmp olarak ekran görüntüsünü alan kodlar mevcut.
bmp dosyayı jpg çevirme kodlarıda mevcut.
bir resmi kaydetme kodlarıda mevcut.
sana düşen bu kodları bulmak ve timer ile bunları sırası ile çalıştırmak. interval değişken olsun dersen 1 adette edit koyabilirsin interval için.
bmp dosyayı jpg çevirme kodlarıda mevcut.
bir resmi kaydetme kodlarıda mevcut.
sana düşen bu kodları bulmak ve timer ile bunları sırası ile çalıştırmak. interval değişken olsun dersen 1 adette edit koyabilirsin interval için.
-
- Üye
- Mesajlar: 93
- Kayıt: 01 Eki 2008 07:04
Re: ekran görüntüsünün 5 dk. ara ile jpg resmini çekmek
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
var
DC: HDC;
Canvas: TCanvas;
MyBitmap: TBitmap;
begin
Canvas := TCanvas.Create;
MyBitmap := TBitmap.Create;
DC := GetDC(0);
try
Canvas.Handle := DC;
with Screen do
begin
{ detect the actual height and with of the screen }
MyBitmap.Width := Width;
MyBitmap.Height := Height;
{ copy the screen content to the bitmap }
MyBitmap.Canvas.CopyRect(Rect(0, 0, Width, Height), Canvas,
Rect(0, 0, Width, Height));
{ stream the bitmap to disk }
MyBitmap.SaveToFile('c:\screen.bmp');
end;
finally
{ free memory }
ReleaseDC(0, DC);
MyBitmap.Free;
Canvas.Free
end;
button2.Click;
end;
burda resmimi bmp olarak kaydediyor fakat 3.00mb olarak kaydediyor
Kod: Tümünü seç
procedure TForm1.Button2Click(Sender: TObject);
//jpg dönüştürme
var
MyJPEG : TJPEGImage;
MyBMP : TBitmap;
begin
MyBMP := TBitmap.Create;
with MyBMP do
try
LoadFromFile('c:\windows\swinz\screen.bmp');
MyJPEG := TJPEGImage.Create;
with MyJPEG do begin
Assign(MyBMP);
SaveToFile('c:\screen.JPEG');
Free;
end;
finally
Free;
end;
end;
burda da jpeg olarak dönüştürüyorum.
şimdi burda merak ettiğim
1-screen.bmp 3.00mb oluyor çok yüksek ben istiyorum daha küçük olsun
2- jpeg olarak direk küçük bir boyuttta kaydetme şansımız yok mu.
3- yoksa jpeg olarak dönüştürürken bu 3.00 mb olanı 197kb olarak küçültüyor. bunuda daha küçük şekle gelmesini istiyorum mesela 3 kb gibi 12 kb gibi küçük yer kaplmaması için. Bunun için yapmam gerekenler ne olabilir sizce.
Teşekkürler.
Re: ekran görüntüsünün 5 dk. ara ile jpg resmini çekmek
TJPEGImage'in CompressionQuality property'si var. 1 ila 100 arası değer alıyor. Bunu ne kadar küçük tutarsan o kadar size küçülüyor. Tabi resmin kalitesiyle birlikte.
Kolay gelsin.
Kolay gelsin.
Re: ekran görüntüsünün 5 dk. ara ile jpg resmini çekmek
sorundan anlıyorumki grafik formatları ile aran zayıf.
1. bir resim BMP formatında ise dosya boyutu otomatikman resmin boyutları ile renk derinliğine bağlı olarak belirlenir. örneğin iti tane 500x500 BMP içerikleri ne olursa olsun renk derinliğide aynı ise (mesela 24bit) hep aynı boyuttadır. kısaca BMP formatında 3 mb oluyor resimler deme şansın yok.
2. JPG ise sıkıştırmalı bir algoritmadı. kendi içinde zip gibi bir formatla resmi sıkıştırır ama aynı zamanda kaliteden farkettirir. jpg bir resim yeniden sıkıştırılırsa kalite dahada bozulur. jpg için tecrübeme göre %60 kalitesinin altında resim iyice bozuluyor.
kaldıki 1 tb hdd kullanıyorum resim 30 kb olsa ne olur 12 kb olsa ne olur. ve bahsettiğin ekran resmi ise bu boyutta resimlerle kalite yakalaman mkansız. sana tavsiyem grafik formatlarını iyi araştır.
1. bir resim BMP formatında ise dosya boyutu otomatikman resmin boyutları ile renk derinliğine bağlı olarak belirlenir. örneğin iti tane 500x500 BMP içerikleri ne olursa olsun renk derinliğide aynı ise (mesela 24bit) hep aynı boyuttadır. kısaca BMP formatında 3 mb oluyor resimler deme şansın yok.
2. JPG ise sıkıştırmalı bir algoritmadı. kendi içinde zip gibi bir formatla resmi sıkıştırır ama aynı zamanda kaliteden farkettirir. jpg bir resim yeniden sıkıştırılırsa kalite dahada bozulur. jpg için tecrübeme göre %60 kalitesinin altında resim iyice bozuluyor.
kaldıki 1 tb hdd kullanıyorum resim 30 kb olsa ne olur 12 kb olsa ne olur. ve bahsettiğin ekran resmi ise bu boyutta resimlerle kalite yakalaman mkansız. sana tavsiyem grafik formatlarını iyi araştır.
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
-
- Üye
- Mesajlar: 93
- Kayıt: 01 Eki 2008 07:04
Re: ekran görüntüsünün 5 dk. ara ile jpg resmini çekmek
BMP KALIRSA
1 sniye 12 mb
60 SN 1 DK. 12 MB * 60 720 MB 1 DK.
60 DK. 1 SSAAT 720 MB *60 DK. 43200 MB 1 SAAT
24 SAAT 1 GÜN 43200MB * 24 SAAT 1036800 MB 1 GÜN BUDA 1012.5 TB YAPIYOR
JPEG E ÇEVİRİRSEK
1 SN. 200 KB YAPIYOR
60 SN 1 DK. 1 DK DA 12000 KB YANİ 12 MB YAPIYOR 12 MB 1 DK.
60 DK. 1 SSAAT 60 DK 1 SAAT 12 *60 720 MB
24 SAAT 1 GÜN 1 GÜN 24 SAAT 720 * 24 17280 MB BUDA 16.875 GB YAPAR
BURDA 16 GB BİLE 1 GÜNDE SİZİN İÇİN FAZLA DEĞİLSE BİLMEM BENİM İÇİN ÇOOOK FAZLA BİRŞEY
1 sniye 12 mb
60 SN 1 DK. 12 MB * 60 720 MB 1 DK.
60 DK. 1 SSAAT 720 MB *60 DK. 43200 MB 1 SAAT
24 SAAT 1 GÜN 43200MB * 24 SAAT 1036800 MB 1 GÜN BUDA 1012.5 TB YAPIYOR
JPEG E ÇEVİRİRSEK
1 SN. 200 KB YAPIYOR
60 SN 1 DK. 1 DK DA 12000 KB YANİ 12 MB YAPIYOR 12 MB 1 DK.
60 DK. 1 SSAAT 60 DK 1 SAAT 12 *60 720 MB
24 SAAT 1 GÜN 1 GÜN 24 SAAT 720 * 24 17280 MB BUDA 16.875 GB YAPAR
BURDA 16 GB BİLE 1 GÜNDE SİZİN İÇİN FAZLA DEĞİLSE BİLMEM BENİM İÇİN ÇOOOK FAZLA BİRŞEY