Ресайз картинки на кнопке

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Andrev
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 108
Зарегистрирован: 19.01.2005 (Ср) 9:22
Откуда: Kursk

Ресайз картинки на кнопке

Сообщение Andrev » 20.12.2008 (Сб) 1:34

Вот либо я туплю, либо одно из двух... Люди, расскажите, как сделать так, чтоб при присвоении свойству .Picture кнопки присваемая картинка сжималась до размера, чтобы поместиться на кнопку?

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Re: Ресайз картинки на кнопке

Сообщение dr.MIG » 22.12.2008 (Пн) 14:20

Пытаться сжимать картинку таким образом не есть правильное решение при разработке интерфейса программы -- будет плохое качество. Легче и правильнее уменьшить картинку до нужных размеров в графическом редакторе. А если уж так хочется сжать, то задавать не через Picture, а рисовать, используя StretchBlt.
Salus populi suprema lex

VBTerminator
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 415
Зарегистрирован: 19.11.2008 (Ср) 20:10

Re: Ресайз картинки на кнопке

Сообщение VBTerminator » 05.01.2009 (Пн) 11:14

dr.MIG писал(а):...используя StretchBlt.

А что это такое? Не метод/свойство кнопки точно

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Ресайз картинки на кнопке

Сообщение iGrok » 05.01.2009 (Пн) 12:55

VBTerminator писал(а):
dr.MIG писал(а):...используя StretchBlt.

А что это такое? Не метод/свойство кнопки точно

Это первая строчка гугля...
label:
cli
jmp label

VBTerminator
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 415
Зарегистрирован: 19.11.2008 (Ср) 20:10

Re: Ресайз картинки на кнопке

Сообщение VBTerminator » 06.01.2009 (Вт) 4:46

iGrok писал(а):Это первая строчка гугля...

...которая, как и остальные, выдаёт функцию на C. Можно было бы перевести и на VB, но меня убивает тип данных DWORD и "CDC* pSrcDC"

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: Ресайз картинки на кнопке

Сообщение Viper » 06.01.2009 (Вт) 7:35

VBTerminator писал(а):
iGrok писал(а):Это первая строчка гугля...

...которая, как и остальные, выдаёт функцию на C. Можно было бы перевести и на VB, но меня убивает тип данных DWORD и "CDC* pSrcDC"
Гм... и то, и то - Long.
Весь мир матрица, а мы в нем потоки байтов!

VBTerminator
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 415
Зарегистрирован: 19.11.2008 (Ср) 20:10

Re: Ресайз картинки на кнопке

Сообщение VBTerminator » 06.01.2009 (Вт) 10:02

Ещё пару вопросов:
http://www.firststeps.ru/mfc/steps/help/r.php?778 писал(а):pSrcDC
Определяет исходный контекст устройства

Что представляет собой контекст устройства в данном смысле?
http://www.firststeps.ru/mfc/steps/help/r.php?778 писал(а):CDC* pSrcDC

Что это?
Последний раз редактировалось VBTerminator 06.01.2009 (Вт) 14:45, всего редактировалось 1 раз.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Ресайз картинки на кнопке

Сообщение Хакер » 06.01.2009 (Вт) 10:14

Прочитай Рихтера. От корки до корки.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Re: Ресайз картинки на кнопке

Сообщение SLIM » 06.01.2009 (Вт) 14:36

Да, для того чтобы узнать что есть контекст устройства нужно почитать Рихтера.
В двух словах - контекст устройства - это некая структура данных, которая определяет набор графических объектов, их атрибутов ну и еще кое-что. Графическим объектом может быть кисть, перо, палитра например. Типами контекста может быть контекст дисплея, контекст принтера, и другие.... Каждый контекст имеет свой дискриптор при использовании.
Но вот только читать Рихтера для VB - тяжеловато. Многие понятия в VB отсутствуют или просто не затрагиваются, или затрагиваются в редких случаях. Для общего понимания как работает Windows - да, это супер.
Пишите жизнь на чистовик.....переписать не удастся.....

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Ресайз картинки на кнопке

Сообщение Mikle » 06.01.2009 (Вт) 16:45

Можно ресайзить картинку без API, используя Image с включенным Stretch.
Если вопрос упрется в качество, то это, как и StretchBlt, не поможет, нужно либо заюзать GDI+, либо код из кирпичей:
viewtopic.php?f=28&t=38123

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Ресайз картинки на кнопке

Сообщение Хакер » 06.01.2009 (Вт) 22:37

StretchBlt умеет делать антиалиасинг. Antonary выкладывал пример.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 45

    TopList