Mrmarmman arkadaşım sonuç nedir? TBitmap Canvas ve ScanLine özelliğini de denedim TWriter hata verdi.
Yani Twriter'i kullanarak bitmap resmini MemoryStream'a yüklemenin yolu nedir. İkinci bir tmp stream önermyeceksin sanırım.
TXMLDocument kullanımı hk.
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: TXMLDocument kullanımı hk.
Merhaba buna benzer bir projem vardı. Tuğrul abinin Thread uyarısı sizin için kilit bir kelime. Ama ben sizin yerinizde olsam Conenction için yeni ve modifiye bir socket sınıfı yazardım. Benim Connection sınıfım Thread'ti. Yani bağlantıların tümü thread ile sağlanıyordu. Bu sayede aynı anda hem görüntü hem ses hemde dosya transferi yapabiliyordum. Eğer dediğim şekilde projeyi değiştirebilirseniz herşey çok daha kolay olur. Socket ile uygulama yazarken sadece Winsock (Native) kullanırım. Gayet esnek ve stabil. Dezavantajları da var tabiiki.
Sizin probleminize gelince. Sockete header gönderdiğinizde 2 Thread başlatabilirsiniz. Birisi içerik diğeri de Görüntü için.
Burada StreamPointer demek istediğim sıradan bir procedure;
//Önemli Hatırlatma : Doğrudan bmp göndermek yerine Jpeg'e çevirirseniz Compression uygulama şansınız olur. Quality vs ayarlayarak daha hızlı ve akıcı görüntü sağlayabilirsiniz.
İyi çalışmalar.
Sizin probleminize gelince. Sockete header gönderdiğinizde 2 Thread başlatabilirsiniz. Birisi içerik diğeri de Görüntü için.
Kod: Tümünü seç
if cmd = 'blabla' then
begin
Connection.Thread.SendText('HEADER');
Sleep(5);
Connection.Thread.SendStream(@StreamPointer yada Doğrudan stream)
Kod: Tümünü seç
procedure EkranGonder
begin
repeat
// kaç saniye ara ile stream açılacak;
sleep(10)
until
end;
Kod: Tümünü seç
CreateThread(0,nil, @EkranGonder, 0 , nil, CardinalValue);
Kod: Tümünü seç
TempBmp.Handle := CaptureWND(0,ccs,32,x,y);
TempJpeg.Assign(TempBmp);
TempJpeg.CompressionQuality := 50;
TempJpeg.Compress;
TempJpeg.SaveToStream(Stream);
Re: TXMLDocument kullanımı hk.
Sonuç açık TBitmap ile tek başına bunu yapamazsınız.SHURZAN yazdı:Mrmarmman arkadaşım sonuç nedir? TBitmap Canvas ve ScanLine özelliğini de denedim TWriter hata verdi.
Yani Twriter'i kullanarak bitmap resmini MemoryStream'a yüklemenin yolu nedir. İkinci bir tmp stream önermyeceksin sanırım.
Zaten mesajımı yeniden okursanız TWriter tek başına bir stream değil streami kullanan bir aracı / yönetici sınıfıdır.
TBitmap bir stream kesinlikle değildir. SaveToStream diyerek Binary dönüşüm yapıyorsunuz. Ancak o zaman fiziksel olarak bir stream oluşur. Sonra da bu binary data dizisini TWriter ile yayına veriyorsunuz.
Mevcut uyguladığınız yöntem nihai yöntemdir.