| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Variant в TBitmap |
| Автор: deniska 25.4.2010, 14:52 | ||
есть код вытаскивания картинки из экселевского файла. вроде вытаскивается. теперь нужно каким то образом отобразить эту картинку на форме. собственно для этого и нужно какимто образом втянуть Variant в TBitmap
заранее спасибо |
| Автор: Domain 25.4.2010, 23:44 | ||||||||||||||||
| В принципе кидаешь на форму TImage, потом скорее всего смотря какой формат картинки регистрируешь в классе Picture этот формат. Для простого bmp можно так: в начале файла *.cpp пишешь для bmp
для gif:
для jpeg:
Потом собственно саму канву:
для загрузки из файла
скорее всего для jpeg будет так:
А для для загрузки из Variant на канву это уже надо смотреть свойства самого класса. Я не помню как это делать. как и говорил билдера под рукой нет. Возможно будет как-то так
В общем может, что извлечешь для себя. |
| Автор: xvr 26.4.2010, 13:35 | ||
Это еще не картинка, это объект, типа Shape
Едиственное, что для этого нашел - метод Copy. Копирует картинку в Clipboard |
| Автор: deniska 27.4.2010, 12:06 | ||||
| xvr, держи плюс за мысль об использовании буфера обмена. Domain, тоже спасибо. думал влегкую получится, но эксель в буфер обмена картинку кидает не в CF_BITMAP формате (из которого легко закинуть картинку в TBitmap и пример в инете много именно на него), а в формате CF_METAFILEPICT вот что получается:
основы кода взяты с CodeProject. единственное что - почемуто в буфер картинка кладется экселем в супер-пупер увеличенном размере, именно поэтому введен код
если есть замечания критические по коду - велкам кстати, гдето здесь видел раздел по автоматизации. можно наверно туда закинуть |
| Автор: deniska 14.5.2010, 08:51 | ||
ну и в итоге "на чистом" vcl:
размеры у картинки сразу получаются нормальные. снаружи код получился намного короче ))). эхх глянуть бы внутрь... |