Сохранение картинки без контейнера - VB
Формулировка задачи:
Привет всем!
Ну вытащить ассоциативный icon я могу. А как его сохранить в файл, но так, чтобы обойтись без контейнеров типа PictuteBox? Сохранить из памяти.
Спасибо.
Решение задачи: «Сохранение картинки без контейнера»
textual
Листинг программы
Dim rezPicture As IPictureDisp Dim fileName As String Dim lhDC As Long, objHDC As Long, lhBMP As Long Dim lWidth As Long, lHeight As Long ' fileName = 'C:\Test.bmp' objDHC = Me.hDC ' << к примеру ' ... ' тут кладёшь картинку в буфер обмена, например - так: ' ' создаём временный 'виртуальный' контекст: lhDC = CreateCompatibleDC(objHDC) ' (objHDC - граф. контекст исходного, т.е. копируемого объекта) ' lHeight = 600 ' << к примеру lWidth = 800 ' << к примеру ' lhBMP = CreateCompatibleBitmap(objHDC, lWidth, lHeight) ' BitBlt lhDC, 0, 0, lWidth / 2, lHeight / 2, objHDC, 0, 0, vbSrcCopy ' (пол-картинки с исходного объекта скопированы в виртуальный контекст lhDC) ' ' кладём в буфер обмена: OpenClipboard 0 EmptyClipboard SetClipboardData vbCFBitmap, lhBMP CloseClipboard ' удаляем временный виртуальный контекст - он больше не нужен: DeleteObject lhDC ' ... Set rezPicture = Clipboard.GetData(vbCFBitmap) SavePicture rezPicture, fileName
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д