5 / 2 / 1
Регистрация: 01.11.2012
Сообщений: 121

чтение png

22.08.2013, 10:46. Показов 1954. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем, беда.. есть куча нужных для программы картинок... вот только все они в формате png... при открытии которого, вб выдает ошибку инвалид пикчер... можно ли как-нибудь сразу все картинки перевести в jpg? или, незнаю, научить бейсик их открывать)) в ручную каждую картинку - не вариант... их больше 100..
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.08.2013, 10:46
Ответы с готовыми решениями:

Конвертация в png
Как клнвертировать картинку в png?

Чтение PNG файла
описал структуру заголовка чанка struct _PNG_ChunkHead { unsigned int _length; char _type; }; после чтения чанка IHDR...

Чтение данных из png файла
Здравствуйте! Дана картинка (формат PNG), на выходе должен быть текстовый файл. Необходимо считать данные png файла (массив 0, 1) и...

7
Заблокирован
22.08.2013, 11:20
MrLimon, VB 6 старый язык разработки, он не поддерживает работу с картинками 32 битного качества, то есть TrueAlpha. Есть в Интернете способы загрузки картинки, но это километры кода.
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
22.08.2013, 11:37
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от inv.DS Посмотреть сообщение
он не поддерживает работу с картинками 32 битного качества
Есть системная либа GDI+. А для чего ещё пишут библиотеки в Винде? Чтобы пользовались
Вложения
Тип файла: zip png.zip (36.5 Кб, 44 просмотров)
3
Заблокирован
22.08.2013, 11:38
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Есть системная либа GDI+. А для чего ещё пишут библиотеки в Винде? Чтобы пользовались
Я объяснил ему суть ошибки, почему не принимает картинку PictureBox, а внизу дописал, что есть в Интернете примеры.
0
 Аватар для DimN
98 / 49 / 0
Регистрация: 14.08.2013
Сообщений: 230
Записей в блоге: 4
22.08.2013, 11:38
Как вариант: в ACDSee - пакетная обработка формата фалов позволяет из кучи файлов собрать файлы одного формата и имя по шаблону поставить с счётчиком, например.
0
Заблокирован
22.08.2013, 11:40
Да и кстати вот такие методы привязывают картинки к пути. Хотелось бы чтобы они грузились в сам проект. Примерно как на шарпе или вб.нет
0
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 79
22.08.2013, 11:57
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
Option Explicit
 
Private Type GUID
    Data1 As Long
    Data2 As Integer
    Data3 As Integer
    Data4(7) As Byte
End Type
Private Type PicBmp
    size As Long
    Type As Long
    hBmp As Long
    hpal As Long
    Reserved As Long
End Type
Private Type GdiplusStartupInput
    GdiplusVersion As Long
    DebugEventCallback As Long
    SuppressBackgroundThread As Long
    SuppressExternalCodecs As Long
End Type
 
Private Declare Function GdipCreateBitmapFromFile Lib "gdiplus" (ByVal FileName As Long, BITMAP As Long) As Long
Private Declare Function GdipCreateHBITMAPFromBitmap Lib "gdiplus" (ByVal BITMAP As Long, hbmReturn As Long, ByVal background As Long) As Long
Private Declare Function OleCreatePictureIndirect Lib "olepro32.dll" (PicDesc As PicBmp, RefIID As GUID, ByVal fPictureOwnsHandle As Long, IPic As IPicture) As Long
Private Declare Function GdiplusStartup Lib "gdiplus" (token As Long, inputbuf As GdiplusStartupInput, Optional ByVal outputbuf As Long = 0) As Long
Private Declare Function GdiplusShutdown Lib "gdiplus" (ByVal token As Long) As Long
Private Declare Function GdipDisposeImage Lib "gdiplus" (ByVal image As Long) As Long
 
Public Function LoadPictureEx(FileName As String) As StdPicture
    Dim Pic As PicBmp
    Dim IPic As IPicture
    Dim IID_IDispatch As GUID
    Dim SI As GdiplusStartupInput
    Dim token As Long
    Dim bmp As Long
    Dim hBmp As Long
    
    SI.GdiplusVersion = 1
    
    If GdiplusStartup(token, SI) Then Exit Function
    If GdipCreateBitmapFromFile(StrPtr(FileName), bmp) = 0 Then
        If GdipCreateHBITMAPFromBitmap(bmp, hBmp, vbBlack) = 0 Then
            GdipDisposeImage (bmp)
        End If
        GdiplusShutdown token
    Else
        GdiplusShutdown token
    End If
    
    With IID_IDispatch
       .Data1 = &H20400
       .Data4(0) = &HC0
       .Data4(7) = &H46
    End With
    With Pic
       .size = Len(Pic)          ' Length of structure.
       .Type = vbPicTypeBitmap   ' Type of Picture (bitmap).
       .hBmp = hBmp              ' Handle to bitmap.
       .hpal = 0
    End With
    
    OleCreatePictureIndirect Pic, IID_IDispatch, 1, IPic
    
    Set LoadPictureEx = IPic
End Function
Только для картинок с палитрой, надо будет доработать код.
Использование:
Visual Basic
1
2
3
    Dim P As StdPicture
    Set P = LoadPictureEx("Имя файла")
    Me.PaintPicture P, 0, 0
Только это без прозрачности
3
22.08.2013, 12:37

Не по теме:

Цитата Сообщение от inv.DS Посмотреть сообщение
Хотелось бы чтобы они грузились в сам проект. Примерно как на шарпе или вб.нет
Как всё запущено :D
:facepalm:

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.08.2013, 12:37
Помогаю со студенческими работами здесь

Чтение png файла и вывод данных о нем в таблицу
Всем привет, столкнулся с проблемой: надо прочитать png файл вручную(без BitMap и прочего), затем вывести в файл данные из заголовка, и...

Как добавить чтение формата png в ехе, который читает только формат bmp
Скажите пожалуйста, как добавить чтение формата png в ехе, который читает только формат bmp? Собственно дело вот в чем, у меня есть мод...

Вращение TImage c PNG. Нужна переделка решения для BMP под PNG
Здравствуйте. Очень нужна помощь с вращением. Есть решение данной проблемы для формата bmp :...

Объединение нескольких png файлов в один png-файл
В общем надо написать програмулину, которая объединяет несколько png файлов (ширина и высота одинаковы у изображений) в один png-файл. ...

Какое расширение выбрать JPG/GIF/PNG-8/PNG-24
Применение их


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru