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

Вниз

Маштаб TBitMap   Найти похожие ветки 

 
Алексей Петухов   (2004-05-19 08:52) [0]

Здравствуйте, уважаемые мастера.

//Допустим есть
Image:TImage;
//и
Image.autosize:=false;
Image.stretch:=true;
Image.width:=20;
Image.height:=20;
//Загружаем туда большую картинку (40х40)
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
//видим что она смаштабировалась.
Как-же мне теперь получить эту картинку (именно смаштабированную)

Ну к примеру в BitMap размерами 20х20?

Заранее благодарю за помощь.


 
Gero ©   (2004-05-19 08:54) [1]

Bitmap20x20.Canvas.CopyRect(Rect(1, 1, 20, 20), Image.Canvas, Rect(1, 1, 20, 20));


 
Алексей Петухов   (2004-05-19 19:35) [2]

Попробовал, не получается, вот к примеру:

Image1 (96х96) нормальная
Image2 (16х16) уменьшенная
Image3 (16х16) уменьшенная – в итоге должна выглядеть как Image2, а выглядит как часть image1.

Image1.stretch:=true;
Image2.stretch:=true;
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
Image2.Picture.Bitmap.Assign(Image1.Picture.Bitmap);
Image3.Canvas.CopyRect(Rect(0, 0, 16, 16),Image2.Canvas, Rect(0, 0, 16, 16));

Как поправить ситуацию?


 
Алексей Петухов   (2004-05-20 06:11) [3]

Есть идеи?


 
TUser ©   (2004-05-20 06:55) [4]


>
> Image1 (96х96) нормальная
> Image2 (16х16) уменьшенная
> Image3 (16х16) уменьшенная – в итоге должна выглядеть как
> Image2, а выглядит как часть image1.
>
> Image1.stretch:=true;
> Image2.stretch:=true;
> Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
> Image2.Picture.Bitmap.Assign(Image1.Picture.Bitmap);
> Image3.Canvas.CopyRect(Rect(0, 0, 16, 16),Image2.Canvas,
> Rect(0, 0, 16, 16));
> Как поправить ситуацию?

В Image2 ты сассигнил Image1. Т.е. весь битмап, размера 96. Ну и что, что ты его масштабируешь при прорисовке на экране, в нем все равно 96 точек. Соотв. CopyRect копирует часть этой картинки. Используй при копировании ClientRect.


 
Алексей Петухов   (2004-05-20 12:43) [5]

Спасибо, попробую



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

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

Наверх





Память: 0.45 MB
Время: 0.094 c
3-1084016146
Nazer
2004-05-08 15:35
2004.05.30
Не могу создать индекс


4-1081746607
Delphi5.01
2004-04-12 09:10
2004.05.30
Как используя только API функции можно включить WordWrap


1-1084607897
_Druid_
2004-05-15 11:58
2004.05.30
Вопрос по Hotkey


1-1084715381
RomeoGolf
2004-05-16 17:49
2004.05.30
Free и nil - как корректнее совместить?


8-1078816811
Garic
2004-03-09 10:20
2004.05.30
Описание AVI функций





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