Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > Visual Basic: Общие вопросы > Конвертация ICO в BMP


Автор: BlackSun 12.08.22, 16:37
В сети много примеров конвертации BMP в ICO, а мне надо наоборот. Т.е. мне нужно из ICO в PictureBox получить BMP в PictureBox (32бита/цвет). Прозрачность теряется, становится нулевым значением по умолчанию.
Нашёл такой код, но в моей задаче он не работает (что не так?):

<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    Public Function IconToPicture(ByVal hicon As Long) As StdPicture
        If hicon = 0 Then Exit Function
    Dim oNewPic As Picture
    Dim tPicConv As PictDesc
    Dim IGuid As GUID
        
        With tPicConv
        .cbSizeofStruct = Len(tPicConv)
        .PicType = vbPicTypeIcon
        .hImage = hicon
        End With
        
        With IGuid
        .Data1 = &H7BF80980
        .Data2 = &HBF32
        .Data3 = &H101A
        .Data4(0) = &H8B
        .Data4(1) = &HBB
        .Data4(2) = &H0
        .Data4(3) = &HAA
        .Data4(4) = &H0
        .Data4(5) = &H30
        .Data4(6) = &HC
        .Data4(7) = &HAB
        End With
        
        OleCreatePictureIndirect tPicConv, IGuid, True, oNewPic
        Set IconToPicture = oNewPic
    End Function

Автор: BlackSun 12.08.22, 18:22
PaintPicture тоже не помогает, она же должна выдавать BMP на выходе...

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)