Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Нужна функция для работы с айконами и гифами Добавлено: 06.05.06 14:15  

Автор вопроса:  Nj | ICQ: 223663115 
Такая задача: Нужна функция чтобы вынимать из уже загруженного айкона изображения нужного размера: т.е. есть Form1.Icon, теперь нужно в AboutForm передать из Form1.Icon изображение 48х48, а не 16х16 как бейсик обычно делает... Ну и хотелось бы научиться из гифов вынимать кадры в масив к примеру. Знает ли кто-нибудь способ решения сей задачи? Заранее спасибо.

Ответить

  Ответы Всего ответов: 13  

Номер ответа: 1
Автор ответа:
 Victor



ICQ: 345743490 

Вопросов: 42
Ответов: 385
 Web-сайт: vt-dbnz.narod.ru
 Профиль | | #1
Добавлено: 06.05.06 16:22
В примерах водится контрол для анимированных гифов. Я думаю, не сложно будет воспользоваться им для вытаскивания кадров в массив. (код чтения слизать)

На счет иконок - действительно, проблема не из приятных. Не знаю, что с ней делать. Знаю лишь как ее прочитать из файла.

На AboutForm положить PictureBox. AutoRedraw = True. И применить PaintPicture с указанием размеров. Думаю, поможет.

Ответить

Номер ответа: 2
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #2 Добавлено: 06.05.06 16:28
ExtractIconEx, DrawIconEx, CopyIcon.
+ ресурсы.

Ответить

Номер ответа: 3
Автор ответа:
 Nj



ICQ: 223663115 

Вопросов: 21
Ответов: 285
 Профиль | | #3 Добавлено: 06.05.06 23:20
2 Victor - я честно говоря и загружать нужный размер не научился.. Можешь написать, как мне загрузить PaintPicture из файла, размером 48х48, 256 цветов

Да блин... Может кто знает структуру айкона - может в его байтах ковыряться?

ExtractIconEx, DrawIconEx, CopyIcon.
+ ресурсы.
? Очень нужно обойтись без контролов и рес-файлов и прочей фигни. Пример можешь дать?

Ответить

Номер ответа: 4
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #4 Добавлено: 07.05.06 01:15
Вообще-то икону 16х16 не растягивают до 48х48. Уродство получается.
Просто иконку создают с несколькими изображениями разных размеров. И загружают изображение нужного размера из иконки при помощи LoadImage, которой указывают размер изображения, и она сама выбирает из имеющихся в иконке изображений разных размеров.
Если изображение только одно, тогда LoadImage тоже растянет его, с вытекающими отсюда искажениями.

Ответить

Номер ответа: 5
Автор ответа:
 Barsik



Разработчик Offline Client

ICQ: 343368641 

Вопросов: 17
Ответов: 686
 Web-сайт: barsik.newmail.ru
 Профиль | | #5
Добавлено: 07.05.06 09:48
ExtractIconEx

Ответить

Номер ответа: 6
Автор ответа:
 Nj



ICQ: 223663115 

Вопросов: 21
Ответов: 285
 Профиль | | #6 Добавлено: 09.05.06 20:25
1)
2 HOOLIGAN
Вообще-то икону 16х16 не растягивают до 48х48. Уродство получается.
Да и я о том!!! Мне как раз и нужно извлечь из айкона изображение конкретного размера и цвета а не разтянуть. LoadImage ?? Может LoadPicture?
2)
2 ALLОткуда мне взять функцию ExtractIconEx ?? Из какой библиотеки?
3)
И такой вопрос возник еще: Что за данные в IPictureDisp - т.е. понятно, что картинка - только что это: куча цифр или что? Что в себе хранят переменные и свойства подобного типа?

Ответить

Номер ответа: 7
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #7 Добавлено: 10.05.06 11:41

Declare Function ExtractIconEx Lib "shell32.dll" Alias "ExtractIconExA" (ByVal lpszFile As String, ByVal nIconIndex As Long, phiconLarge As Long, phiconSmall As Long, ByVal nIcons As Long) As Long

phiconLarge - указатель на массив хендлов БОЛЬШИХ иконок, phiconSmall - маленьких.
Это не контрол, а стандартная АПИ функция.

Ответить

Номер ответа: 8
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #8 Добавлено: 11.05.06 14:14
2Victor PaintPicture такого эффекта не дает, проверено.

Ответить

Номер ответа: 9
Автор ответа:
 Nj



ICQ: 223663115 

Вопросов: 21
Ответов: 285
 Профиль | | #9 Добавлено: 13.05.06 19:37
2 LamerOnLine - сэнкс, Она с файлами работает или можно с уже загруженными айконами?

Ответить

Номер ответа: 10
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #10 Добавлено: 13.05.06 19:50
LoadPicture - это vbшное, я говорю об апи LoadImage. Она работает с файлами, или с ресурсами.

Ответить

Номер ответа: 11
Автор ответа:
 Victor



ICQ: 345743490 

Вопросов: 42
Ответов: 385
 Web-сайт: vt-dbnz.narod.ru
 Профиль | | #11
Добавлено: 16.05.06 17:42
2Victor PaintPicture такого эффекта не дает, проверено.
Действительно, облом.
На счет формата ICO - можно посетить
http://www.wotsit.org/
http://www.daubnet.com/formats/ICO.html

Ответить

Номер ответа: 12
Автор ответа:
 Nj



ICQ: 223663115 

Вопросов: 21
Ответов: 285
 Профиль | | #12 Добавлено: 17.05.06 23:04
Всем спасибо, но однако желаемого я не достиг... Но эти функции и линки весьма полезны были мне.

Ответить

Номер ответа: 13
Автор ответа:
 Nj



ICQ: 223663115 

Вопросов: 21
Ответов: 285
 Профиль | | #13 Добавлено: 18.05.06 22:37
2 Victor - отдельное спасибо за линки.

И вот это очень надо!!! Подскажите, кто знает:
Что за данные в IPictureDisp - т.е. понятно, что картинка - только что это: куча цифр или что? Что в себе хранят переменные и свойства подобного типа?

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам