Страницы: 1
RSS
Как правильно выгрузить изображение картинки из файла Excel в файл ((.ico), например, size 256х256)
 
Всем, доброй рабочей ночи!
Столкнулся с некоторой сложностью.
Есть файл, в котором картинка. Данную картинку надо выгрузить в файл в определенную папку с разрешением .ico
Это я получилось, но вот размеры картинки огромные выходят, не как не .ico
Полученный файл не отображается системой как эскиз и стандартный просматривальщик графических файлов Windows его не открывает, excel тоже не видит иконку, паинт - открывает в огромном размере.
Мне нужно, чтобы полученная иконка была размеров 256х256 32 true color и открывалась любым редактором.
Кто-то может подсказать, где нужно задавать размеры картинки и правильный ее формат???
Иногда только промахнувшись, понимаешь как ты попал.
 
Цитата
Это я получилось, но вот размеры картинки огромные выходят, не как не .ico
У вас получилось сохранить изображение в формате EMF(векторная графика).
Для получения формата ICO,не расширение надо менять,а преобразовать в формат ICO.
Как вариант ,работать с соответствующими программами через командную строку.
Это  не одно и то же.Откройте блокнотом файл,и посмотрите его формат,какие программы могут открыть.
Не в excele могу написать приложение для взятия с файла excel картинок,отмасштабировать,сохранить в формате ico.Если подходит,пишите в личку.
 
Спасибо за отклик, но мне в экселе все сделать нужно. Спасибо за подсказку, буду пробовать, а там, глядишь, кто-нибудь из СТАРОЖИЛОВ подскажет :)
Иногда только промахнувшись, понимаешь как ты попал.
 
Я, хоть и не старожил, подскажу: (хотя, вряд ли моя подсказка вам поможет, - создать нормальный ICO файл с заданными размерами и глубиной цвета достаточно сложно)

попробуйте создать BMP файл (скопировав картинку, и взяв bitmap из буфера обмена),
и потом BMP переименуйте в ICO
(вроде бы, файлы ICO с BMP-содержимым воспринимаются большинством программ. Хотя, могу ошибаться, - я тут не специалист)

Чтобы создать нормальный ICO файл, надо использовать кучу WinAPI функций.
Пример функции изменения размеров изображения:
http://excelvba.ru/code/ResizeImages
(там же, в функции LoadImage, можно задать глубину цвета, и формат создаваемого файла)
 
Спасибо за совет, Игорь.
Посмотрю вашу ссылку.
Иногда только промахнувшись, понимаешь как ты попал.
 
Эмир, доброе утро
А не проще ли хранить ваш icon-файл в самом же excel-файле, чем преобразовывать картинку? У EducatedFool на сайте есть класс для сохранения на листе файлов любого типа.
Изменено: anvg - 09.11.2013 05:43:17
 
Доброе утро, Андрей.
Спасибо за подсказку.
Наверное вы догадались - это все еще продолжение моего прошлого поста, но уже в другой плоскости.
Допустим картинку .ico мы будем хранить в файле, а как потом ее вызывать в заголовок формы - намекнете???
Иногда только промахнувшись, понимаешь как ты попал.
 
Как хранить иконку в виде функции VBA:
http://excelvba.ru/code/FileToVBAFunction
(извлечь ICO в файл - одна строка кода)

А как отобразить иконку на форме, - тут уже не подскажу, с этим не сталкивался
 
Игорь, спасибо.
Честно, говоря, сам впервые столкнулся с этим.
У меня есть два варианта решения проблемы.
Допустим, я буду хранить иконку в виде vba - функции, а как мне потом этот код сохранить в файл .ico в нужную папку.
Или другой вариант - у меня иконка сохранена на листе в виде точечного рисунка.
Кто-то может помочь адаптировать код Дмитрия (The_Prist), который был написан для сохранения объекта в графический файл?
Сам код во вложении.
Спасибо всем за советы.
Изменено: Эмир Гасанов - 09.11.2013 12:39:26
Иногда только промахнувшись, понимаешь как ты попал.
 
EducatedFool вообще-то я имел в виду вот эту Вашу разработку Прикрепление и извлечение различных файлов из книги Excel.
Эмир, прочитайте, думаю будет всё понятно из текста. У EducatedFool там более чем отличное описание.
 
Андрей, спасибо за повторное направление меня в нужное направление.
Игорь, отдельное спасибо за такую функция. Разобрался, то, что надо.
Вот только немного надо адаптировать, чтобы сохранялась в нужную папку.
И вопрос, почему расширение файла не возвращает???
Иногда только промахнувшись, понимаешь как ты попал.
 
Ответ сам пришел.
Что загружаем, то сами и пишем )) изменяем под себя...
По крайней мере, я так и сделал.
Спасибо всем за помощь.
Игорь, сорри, сразу не понял вашу идею, а она оказалась очень полезной!!!
Иногда только промахнувшись, понимаешь как ты попал.
 
И вот, полностью разобравшись в вопросе, и настроив все под себя, хочу сказать, что все круто работает! Одна голова хорошо, а два сапога - пара! Еще раз спасибо Андрею и Игорю.
Иногда только промахнувшись, понимаешь как ты попал.
Страницы: 1
Читают тему
Наверх
Loading...