Главная страница
    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.036 c
14-1084540198
Denis_ada
2004-05-14 17:09
2004.05.30
Клиент-серверн. приложение по работе с папками и файлами


4-1081873607
AlDan
2004-04-13 20:26
2004.05.30
Показ процесса копирования файлов


3-1084046913
ser_ega
2004-05-09 00:08
2004.05.30
Database Desktop


1-1084960234
Fedun
2004-05-19 13:50
2004.05.30
polyline плывет при прокрутке окна


4-1081643815
juiceman
2004-04-11 04:36
2004.05.30
Антихуковое приложение





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