Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.01.2016, 11:33   #1
m0nr
Пользователь
 
Регистрация: 08.01.2016
Сообщений: 27
Восклицание ICO в картинку

Привет, возникла необходимость конвертировать ICO в любую картинку на ходу, потому-что в TImage у ico не работает свойство Stretch. А мне оно надо =)

Иконка получается из ресурсов программы, на диск не сохраняется.

Надо конвентировать на ходу в компоненте TImage

HELP)
m0nr вне форума Ответить с цитированием
Старый 17.01.2016, 11:41   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

http://www.programmersforum.ru/showthread.php?t=17719
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 17.01.2016, 11:43   #3
m0nr
Пользователь
 
Регистрация: 08.01.2016
Сообщений: 27
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Я же указал что не сохраняя на диск)
m0nr вне форума Ответить с цитированием
Старый 17.01.2016, 11:47   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Так не сохраняй, кто мешает? Bitmap есть и делай с ним что хош, хоть в имедж, хоть выброси

Из HIcon TIcon: Icon.Handle := HIcon
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 17.01.2016 в 11:50.
Аватар вне форума Ответить с цитированием
Старый 17.01.2016, 11:57   #5
m0nr
Пользователь
 
Регистрация: 08.01.2016
Сообщений: 27
По умолчанию

Я решил по пробовать способ с сохранением. Это не смертельно опасно, но не совсем так как я хотел)


Код:
Var
Icon   : TIcon;
Bitmap : TBitmap;
begin
  sImage1.Picture.SaveToFile('c:\picture.ico');
  Icon   := TIcon.Create;
  Bitmap := TBitmap.Create;
  Icon.LoadFromFile('c:\picture.ico');
  Bitmap.Width := Icon.Width;
  Bitmap.Height := Icon.Height;
  Bitmap.Canvas.Draw(0, 0, Icon);
  Bitmap.SaveToFile('c:\picture.bmp');
  Icon.Free;
  Bitmap.Free;
end;
Проблемка в том, что при сохранении picture.bmp Она выходит обрезана.


----

На маленьких с маленьким размером работает на УРА. А вот с иконками по больше обрезает..

----

Проведя несколько тестов, установил, что размеры icon.Width icon.Height 32x32 Значит косяк в этом...


-----



Спасибо, проблему решил вот так)
Код:
Bitmap.Width := sImage1.Picture.Graphic.Width;
  Bitmap.Height := sImage1.Picture.Graphic.Height;

Последний раз редактировалось m0nr; 17.01.2016 в 12:23.
m0nr вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос из буфера обмена сохраняет картинку в папку, а саму картинку показывает в ексель mergin07 Microsoft Office Excel 10 23.04.2014 07:55
Накладывать картинку на картинку любой формы back191 HTML и CSS 0 25.08.2012 19:36
Как получить картинку при наведении на другую картинку (ссылку) seeker1 JavaScript, Ajax 8 04.07.2010 19:42
PSD в ICO vinni Мультимедиа в Delphi 10 03.10.2008 16:52
Ico Zeraim Мультимедиа в Delphi 8 22.05.2008 09:11