Главная страница
    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.007 c
3-1227770092
greg123
2008-11-27 10:14
2009.10.04
Как задать колонку, по кот. нужно сортировать результат в EhGrid


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


2-1248971321
belmol
2009-07-30 20:28
2009.10.04
работа с калькулятором


1-1218088634
ormada
2008-08-07 09:57
2009.10.04
xml rpc + wordpress


15-1249388256
Дмитрий Белькевич
2009-08-04 16:17
2009.10.04
Распространяется ли библиотека msvcp71.dll вместе с Win XP?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский