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

Вниз

Как выводить пропорциональную картину в DBImage?   Найти похожие ветки 

 
Dimaz-z   (2003-10-14 20:33) [0]

Как выводить пропорциональную картину в DBImage? (Вне зависимости от Stretch=True или Fasle) А то картинка (при Stretch = True) растягивается на весь компонент!


 
Dimaz-z   (2003-10-14 21:06) [1]

ЭЙ!!!!!


 
me   (2003-10-14 21:16) [2]

Породить от TDBImage новый класс TDBProportionalImage, перекрыть виртуальный метод Paint и в нем сделать примерно такое:
procedure TDBProportionalImage.Paint;
var
W, H : Integer;
ScW, ScH : real;
Dest : TRect;
Palette : THandle;
begin
ScH := Picture.Height / Height;
ScW := Picture.Width / Width;
if (ScH <> 0) and (ScW <> 0) then
begin
if ScW > ScH then
begin
H := Round(Picture.Height / ScW);
SetRect(Dest, 0, (ClientHeight-H) div 2, ClientWidth, (ClientHeight+H) div 2)
end
else
begin
W := Round(Picture.Width / ScH);
SetRect(Dest, (ClientWidth-W) div 2, 0, (ClientWidth+W) div 2, ClientHeight);
end;
end;
with inherited Canvas do
begin
Palette := 0;
FillRect(Rect(0, 0, Width, Height));
try
if Picture.Bitmap.Palette <> 0 then
begin
Palette := SelectPalette(Handle, Picture.Bitmap.Palette, False);
RealizePalette(Handle);
end;
StretchDraw(Dest, Picture.Bitmap);
finally
if Palette <> 0 then SelectPalette(Handle, Palette, True);
end;
end;
end;


 
Dimaz-z   (2003-10-14 21:53) [3]

Спасибо!



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

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

Наверх




Память: 0.44 MB
Время: 0.013 c
6-89438
Dennisius
2003-08-24 21:16
2003.10.27
все компьютеры в Domain


7-89582
Borealis
2003-08-14 19:00
2003.10.27
Интеграция с Windows. Свойства файла.


1-89372
Bovdur
2003-10-14 05:06
2003.10.27
проблема combobox


1-89297
senya
2003-10-14 10:48
2003.10.27
PDF


3-89118
eds
2003-10-08 09:59
2003.10.27
Помогите произвести отбор данных по BLOB полю





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