Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
5 / 2 / 1
Регистрация: 01.11.2012
Сообщений: 121

чтение png

22.08.2013, 10:46. Показов 1947. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru