Извлечение иконки из файла

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
asm VS vb
Новичок
Новичок
Аватара пользователя
 
Сообщения: 41
Зарегистрирован: 23.06.2006 (Пт) 15:27
Откуда: 02

Извлечение иконки из файла

Сообщение asm VS vb » 29.06.2006 (Чт) 18:36

Люди! Хелп! Помагите не совсем новичку! У меня такая трабла,короче достаю я иконку из любого файла с помощью ExtractIcon,сохраняю на хард в качестве битмэпа,затаскиваю этот битмап в ИмэйджЛист,конвертирую в иконку с помощью свойства ImageList.ListImages(1).Extracticon,
сохраняю ее и вроде бы ничего,но есть одно ТОЛСТОЕ но,и это но заключается в том что получившаяся иконка, выдранная из файла и сконвертированная с помощью VB не соответствует цветовой гамме иконки того файла из которого была выдрана...типа,цвета выцветают.
А как зделать чоб эта иконка получалась то бишь full-колор...
Новое толкование теории эволюции: когда первая обезьяна взяла в руки палку, остальные начали трудиться.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 29.06.2006 (Чт) 21:12

И кто при создании темы подтвердил, что пользовался поиском? :twisted:
http://bbs.vbstreets.ru/viewtopic.php?t=25532
Изображение

asm VS vb
Новичок
Новичок
Аватара пользователя
 
Сообщения: 41
Зарегистрирован: 23.06.2006 (Пт) 15:27
Откуда: 02

Сообщение asm VS vb » 30.06.2006 (Пт) 7:07

tyomitch
Thanks! Значит плохо искал.
Новое толкование теории эволюции: когда первая обезьяна взяла в руки палку, остальные начали трудиться.

asm VS vb
Новичок
Новичок
Аватара пользователя
 
Сообщения: 41
Зарегистрирован: 23.06.2006 (Пт) 15:27
Откуда: 02

Сообщение asm VS vb » 30.06.2006 (Пт) 13:26

А все таки как сохранить через ExtractIcon полноцветную иконку?
Мне нужен именно этот метод!
:?:
Новое толкование теории эволюции: когда первая обезьяна взяла в руки палку, остальные начали трудиться.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 30.06.2006 (Пт) 13:47

Зачем тебе ExtractIcon?
Изображение

asm VS vb
Новичок
Новичок
Аватара пользователя
 
Сообщения: 41
Зарегистрирован: 23.06.2006 (Пт) 15:27
Откуда: 02

Сообщение asm VS vb » 30.06.2006 (Пт) 14:20

Не..просто этот метод выдирания иконки полегче,чем лазить в ресурсы файла..Но,как я уже говорил у меня иконка сохраняется,но получается
выцветшая.Ето чо глюк барсика?
Код: Выделить всё
Option Explicit
      Private Const MAX_PATH = 260
      Private Declare Function ExtractIcon Lib "shell32.dll" Alias _
      "ExtractIconA" (ByVal hInst As Long, _
                      ByVal lpszExeFileName As String, _
                      ByVal nIconIndex As Long) As Long
      Private Declare Function DrawIcon Lib "user32" (ByVal hdc As Long, _
      ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long
      Dim path$, nIcon As Long
      Private Sub Command1_Click()
          Dim hIcon As Long
          hIcon = ExtractIcon(App.hInstance, path$, nIcon)
          Set Picture1.Picture = LoadPicture("")
          Picture1.AutoRedraw = True
          Call DrawIcon(Picture1.hdc, 0, 0, hIcon)
          Picture1.AutoRedraw = False
          Picture1.Refresh
          SavePicture Picture1.Image, "C:\sample.bmp"
          IG.ListImages.Add , , LoadPicture("C:\sample.bmp")
          SavePicture IG.ListImages(1).ExtractIcon, "C:\sampleic.ico"
      End Sub
      Private Sub Form_Load()
          Picture1.Height = 545
          Picture1.Width = 545
          path$ = "C:\Windows\notepad.exe"
      End Sub
Новое толкование теории эволюции: когда первая обезьяна взяла в руки палку, остальные начали трудиться.

Kovu
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 924
Зарегистрирован: 29.04.2005 (Пт) 17:38

Сообщение Kovu » 01.07.2006 (Сб) 18:40

asm VS vb писал(а):Не..просто этот метод выдирания иконки полегче,чем лазить в ресурсы файла..Но,как я уже говорил у меня иконка сохраняется,но получается
выцветшая.Ето чо глюк барсика?

Это особенности работы функции OleSavePictureFile :roll:
Если всё делать своими ручками, они скоро отвалятся !


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 65

    TopList