Недавно столкнулся с необходимостью загрузки большого количества прайсов от различных книжных издательств. Обязательным условием было сохранение в базе данных информации вместе с картинками (обложками книг).
Основной проблемой, конечно, стало сохранить картинку на диск.
Поначалу решил использовать cClipBoardObject.dll (автору компоненты большое спасибо за идею!), НО! Возникла следующая проблема: картинки сохраненные с помощью вышеуказанной компоненты имеют формат данных WMF (некоторые просмоторщики распознают как EMF) и при загрузке в базу картинки отображались некоректно, да и с конвертировать их при помощи
Новый Картинка(…).Преобразовать(…) тоже не получилось — система упорно выдавала ошибку.
Решил написать собственную компоненту. Функционал небольшой:
2 свойства:
- Тип файла/FileType — тип файла в который будет сохранено изображение из буфера обмена (0 — bmp, 1- jpg, по-умолчанию 1);
- Сжатие/Compression — степень сжатия для файлов формата JPEG (значение по-умолчанию 80);
1 Метод:
- СохранитьИзБуфера/SaveFromClipboard(ПутьКФайлу);
Пока реализовано сохранение только для типа CF_MetaFilePict (WMF). При копировании из Excel картинки в буфер используется именно этот формат.
В будущем планирую расширить функционал компоненты и извлекать уже изображения и других типов.
Пример использования для 8.2.
На 7.7 тоже все работает.
[stextbox id=»download» caption=»Файлы»]
[/stextbox]
[stextbox id=»grey» caption=»Скриншоты»]
[/stextbox]
Пригодилось, спасибо…
Пожалуйста! Советую пользоваться вот этим http://alxd.freedom-vrn.ru/?p=504
т.к. функционал шире
при попытке скачать ЗагрузкаПрайсЛистов.zip выдаёт абшибки =(, т.е. отсутствие файла
ЗагрузкаПрайсЛистов.zip — Битая
На 8.1 УТ работать будет?
Архив перезалил. Пример сделан под 8.2
Подскажите что можно сделать?. Картинка из буфера в файл несохраняется, а в паинт вставляет.
Попробуйте использовать последнюю версию компоненты