Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.10.04;
Скачать: [xml.tar.bz2];

Вниз

Копирование картинки непопиксельно, а одним махом   Найти похожие ветки 

 
Franzy   (2009-07-24 14:46) [0]

Подскажите, чем можно заменить следующий код (копируется канвас формы во временный битмап):

var p : TPicture;
   i,j: longint;

  p:=TPicture.Create;
  p.Bitmap.Width:=ClientWidth;
  p.BitMap.Height:=clientHeight;
  for i:=1 to ClientWidth do
    for j:=1 to ClientHeight do
       p.Bitmap.canvas.Pixels[i,j]:=form1.canvas.Pixels[i,j];


 
stas ©   (2009-07-24 14:50) [1]

CopyRect ?


 
Palladin ©   (2009-07-24 14:52) [2]

ну можно добавить

If p.Bitmap.canvas.Pixels[i,j]<>form1.canvas.Pixels[i,j] Then
  p.Bitmap.canvas.Pixels[i,j]:=form1.canvas.Pixels[i,j];

)


 
Franzy   (2009-07-24 15:08) [3]


> CopyRect ?


У TPicture нет такого метода, это метод TCanvas.


 
Игорь Шевченко ©   (2009-07-24 15:14) [4]


> Подскажите, чем можно заменить следующий код


BitBlt


 
Franzy   (2009-07-24 15:17) [5]

Пардон, торможу, у Tpicture есть TBitmap, у которого уже есть TCanvas :)


 
Franzy   (2009-07-24 15:18) [6]


> BitBlt


Что это? В справке нет.


 
stas ©   (2009-07-24 15:24) [7]

Franzy   (24.07.09 15:18) [6]

Windows.BitBlt
Windows SDK


 
Franzy   (2009-07-24 15:31) [8]


> Windows.BitBlt


Что-то мне подсказывает, что CopyRect - это обертка для этой функции. Сделал с ней, ощутимо быстрей скриншот делается :)


 
Хитрий Лис   (2009-07-24 15:34) [9]

Какая гадость... всё гораздо проще
bitmap := GetFormImage();


 
Franzy   (2009-07-24 16:37) [10]


> GetFormImage


Не работает, выдает пустое серое окно. Вероятно, потому что у меня там опенджиэлем картинка нарисована. CopyRect  нормально картинку сохраняет.


 
antonn ©   (2009-07-24 17:05) [11]


> Franzy   (24.07.09 15:08) [3]
>
>
> > CopyRect ?
>
>
> У TPicture нет такого метода, это метод TCanvas.

зато он есть у TPicture.bitmap


 
Игорь Шевченко ©   (2009-07-24 17:39) [12]


> Что-то мне подсказывает, что CopyRect - это обертка для
> этой функции


Что-то тебя обманывает, CopyRect обертка для StretchBlt


 
CSS   (2009-08-02 04:34) [13]

Попробуйте просто делать скриншот экрана... =))


 
abun ©   (2009-08-03 11:46) [14]

попробовать метод Assign - это не моможет разве?
т.е. что-то в роде

...

var bmp:tbitmap;

...

 bmp:=tbitmap.Create;
 bmp.Canvas.Assign(form1.Canvas);

 ...

 bmp.free;

...



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2009.10.04;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.006 c
2-1249027346
xyz
2009-07-31 12:02
2009.10.04
из-за чего ADOCommand1.Execute выдает 1 запись, когда их много


2-1245821819
Elun
2009-06-24 09:36
2009.10.04
AlphaControls+TImage


15-1249058084
TUser
2009-07-31 20:34
2009.10.04
Захватившие власть коммуноцентристы опять ...


2-1248867537
xyz
2009-07-29 15:38
2009.10.04
ключевое поле-счетчик


2-1248437643
kostyl_kostyl
2009-07-24 16:14
2009.10.04
Посоветуйте ресурс с примером реализации списка на TList





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский