घर
Top.Mail.Ru Yandeks.Metrika
मंच: "मीडिया";
वर्तमान संग्रह: 2003.07.03;
डाउनलोड करें: [xml.tar.bz2];

नीचे

इतना लंबा क्यों? इसी तरह की शाखाएँ खोजें


CrowD   (2003-03-21 11:50) [0]

हाय, सब!

समस्या:
пытаюсь вывести рисунок состоящий из спрайтов и записанный в базу данных, при реализации как видно из кода создаю изображение в буфере и только потом кидаю на форму, но при команде Form1.Repaint форма на длительный период становится серой и изображение выводится со значительной задержкой, поясните где узкое место?

पुनश्च
поле adoqMap_map.AsString может достигать размера 65535
но его обработка идет до переброски буфера на форму

धन्यवाद.


procedure TForm1.FormPaint(Sender: TObject);
var
X,Y,i : Integer;
t : String;
begin
Form1.Caption := "size: "+adoqMap_size.AsString;
Y:=Y0;
while (Y*22 < Form1.Height)and(Y<adoqMap_size.AsInteger) do begin
X:=X0;
while (X*32 < Form1.Width)and(X<adoqMap_size.AsInteger) do begin
t := copy(adoqMap_map.AsString,adoqMap_size.AsInteger*Y+X,1);
BitBlt(Buffer.Canvas.Handle,X*31,Y*22,46,23, BMMask.Canvas.Handle,0,0,SrcPaint);
BitBlt(Buffer.Canvas.Handle,X*31,Y*22,46,23, BM[i].Canvas.Handle,0,0,SrcAnd);
inc(X);
t := copy(adoqMap_map.AsString,adoqMap_size.AsInteger*Y+X,1);
BitBlt(Buffer.Canvas.Handle,X*31,Y*22+11,46,23, BMMask.Canvas.Handle,0,0,SrcPaint);
BitBlt(Buffer.Canvas.Handle,X*31,Y*22+11,46,23, BM[i].Canvas.Handle,0,0,SrcAnd);
inc(X);
end;
inc(Y);
end;
//StretchBlt(Form1.Canvas.Handle,0,0,Form1.Width,Form1.Height,Buffer.Canvas.Handle,0,0,Round(Form1.Width*Zooming),Round(Form1.Height*Zooming),SrcCopy);
BitBlt(Form1.Canvas.Handle,0,0,Form1.Width,Form1.Height,Buffer.Canvas.Handle,0,0,SrcCopy);
end;



CrowD   (2003-03-21 14:16) [1]

я тут немного поэксперементировал, проблема свелась к тому что Form1.Canvas при вызове FormPaint, зачемто очищается, как то это погасить можно?

धन्यवाद.



Mihey   (2003-03-21 21:59) [2]

उम, एक चित्र को कैनवास पर केवल एक बार खींचा जा सकता है, और फिर आप इसे केवल अमान्य फ़ंक्शन के साथ फिर से शुरू कर सकते हैं - सिर्फ ऑनपेंट में।



पन्ने: 1 पूरी शाखा

मंच: "मीडिया";
वर्तमान संग्रह: 2003.07.03;
डाउनलोड करें: [xml.tar.bz2];

ऊपर





मेमोरी: 0.54 एमबी
समय: 0.027 c
3-7353
?
2003-06-10 16:26
2003.07.03
मैं 2 ग्रिड को कैसे सिंक्रनाइज़ कर सकता हूं? एक आधार के लिए अपील


1-7491
antoniz
2003-06-21 08:30
2003.07.03
DB तालिका फ़ील्ड सहेजी गई Excel फ़ाइल क्या मैं इसे खोल सकता हूं ...


14-7613
Omar2002
2003-06-16 19:18
2003.07.03
ग्राफिक्स लाभ


3-7325
alextov
2003-06-09 11:02
2003.07.03
मैं DesigionGrid को प्रिंट-सेव-रीड कैसे कर सकता हूं?


14-7635
केन
2003-06-14 06:11
2003.07.03
जहां नेटवर्क में आप जल्दी से एक मुफ्त मेल प्राप्त कर सकते हैं और पेड़ नहीं





अफ्रीकी अल्बानियन अरबी भाषा अर्मेनियाई आज़रबाइजानी बस्क बेलारूसी बल्गेरियाई कैटलन सरलीकृत चीनी) चीनी पारंपरिक) क्रोएशियाई चेक डेनिश डच अंग्रेज़ी एस्तोनियावासी फिलिपिनो फिनिश फ्रेंच
गैलिशियन् जॉर्जियाई जर्मन यूनानी हाईटियन यहूदी हिंदी हंगरी आइसलैंड का इन्डोनेशियाई आयरिश इतालवी जापानी कोरियाई लात्वीयावासी लिथुआनियाई मेसीडोनियन मलायी मोलतिज़ नार्वेजियन
फ़ारसी पोलिश पुर्तगाली रोमानियाई रूसी सर्बियाई स्लोवाक स्लोवेनियाई स्पेनिश स्वाहिली स्वीडिश थाई तुर्की यूक्रेनी उर्दू वियतनामी वेल्श यहूदी बंगाली बोस्नियाई
सिबुआनो एस्पेरांतो गुजराती हौसा हमोंग ईग्बो जावानीस कन्नड़ खमेर लाओ लैटिन माओरी मराठी मंगोलियन नेपाली पंजाबी सोमाली तामिल तेलुगु योरूबा
ज़ुलु
Английский Французский Немецкий Итальянский Португальский Русский Испанский