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




Вниз

Опять с иконками проблемы! 


Creecker Dikar   (2002-03-25 15:31) [0]

У меня в TBitmap загружена картинка размером 32x32, как мне сжать ее размер, что бы он стал 16x16, а потом сохранить ее с таким размером в файл C:\Image.bmp?
Помогите пожалуйста, буду очень благодарен!



Юрий Зотов   (2002-03-25 16:04) [1]

Создаем второй TBitmap, ставим ему 16х16, вызываем StretchDraw и SaveToFile.



Creecker Dikar   (2002-03-25 19:28) [2]

Что-то не получается :(
Пишу:
var
Bitmap, btmp : TBitmap;
rect: trect;
begin

btmp.Canvas.StretchDraw(rect ,Bitmap);
btmp.SaveToFile("d:\IconFile.bmp");
end;
А в IconFile.bmp сплошной белый цвет!
В чем дело?



Юрий Зотов   (2002-03-25 19:57) [3]

Если Вы привели неполный код, то приведите полный, тогда можно будет сказать конкретно. А если Вы привели полный код, то работать он просто не может, ибо:

1. Где создание объектов?
2. Где назначение размеров?
3. Где загрузка Bitmap?
4. Где инициализация Rect(хотя эта переменная вообще не нужна).
5. Где уничтожение объектов?



Creecker Dikar   (2002-03-25 21:31) [4]


Вот полный код:

procedure TForm12.Button1Click(Sender: TObject);
var
Bitmap, BTMP : TBitmap;
RECT: TRECT;
begin

Bitmap := TBitmap.Create; //Cоздание объектов
BTMP := TBitmap.Create;
Bitmap.LoadFromFile("d:\IconFile.bmp"); //Загрузка Bitmap
Btmp.Width := 16; //Hазначение размеров
Btmp.Height := 16;
// Rect - это переменная, вообще, не нужна!
BTmp.Canvas.StretchDraw(RECT, BITMAP);
BTmp.SaveToFile("d:\IconFileMini.bmp");
BTmp.Free;

Bitmap.Free; //Уничтожение объектов!
end;

Что еще?
Заранее благодарен!



SPeller   (2002-03-25 22:45) [5]

Во-первых, переменная RECT ещё как нужна. Она указывает прямоугольник в который рисовать. RECT.TOP:=0;RECT.LEFT:=0;RECT.RIGHT:=16;RECT.BOTTOM:=16;
Затем вторая ошибка - ты рисуешь из пустого Bitmap"а в тот, который с рисунком. Надо наоборот
Bitmap.Canvas.StretchDraw(RECT, BTmp);//канвас с рисунком рисует в пустой объект.
Вот так вот вроде..



Юрий Зотов   (2002-04-03 16:05) [6]

> Во-первых, переменная RECT ещё как нужна

А как насчет того, что она дублирует свойство ClipRect и более ничего не делает?




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




Наверх





Память: 0.72 MB
Время: 0.034 c
3-46284           VAleksey              2002-03-26 09:31  2002.04.15  
Таблица FoxPro


1-46348           semion                2002-04-02 17:14  2002.04.15  
Помогите! Событие OnExit вызывается 2 раза!!


3-46241           Алена                 2002-03-24 21:52  2002.04.15  
База в одноранговой сети


7-46526           Red Alert             2002-01-13 08:01  2002.04.15  
Блин! Во в голову вдарило-то! Вопрос про Com-порт..


4-46541           Poirot                2002-02-07 02:54  2002.04.15  
Как вставить в системное меню POPUP....