powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / PNG изображения в стандартных контролах VB6.
25 сообщений из 28, страница 1 из 2
PNG изображения в стандартных контролах VB6.
    #39764818
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YouTube Video
...
Рейтинг: 0 / 0
PNG изображения в стандартных контролах VB6.
    #39764841
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Файлы на гитхабе битые. В кодировке Unix(LF). VB их не понимает. Перезалей плиз архив в другое место.
...
Рейтинг: 0 / 0
PNG изображения в стандартных контролах VB6.
    #39764869
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Test_EXE_Linked - не билдится:

авторMicrosoft (R) Incremental Linker Version 14.16.27026.1
Copyright (C) Microsoft Corporation. All rights reserved.

LINK : warning LNK4010: invalid subsystem version number 4.0; default subsystem version assumed
LINK : fatal error LNK1104: cannot open file 'kernel32.lib'
...
Рейтинг: 0 / 0
PNG изображения в стандартных контролах VB6.
    #39764886
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проект Test_EXE_Dll и Test_EXE_Linked открываются у меня с ошибкой

автор'C:\Downloads\VbPng-master\VbPng-master\VbSources\Test_EXE_Dll\comctl32.Ocx' could not be loaded--Continue Loading Project?

Помогло понижение версии comctl32 в VBP файле.

Код: vbnet
1.
Object={6B7E6392-850A-101B-AFC0-4210102A8DA7}#1.5#0; comctl32.Ocx



поменять на:

Код: vbnet
1.
Object={6B7E6392-850A-101B-AFC0-4210102A8DA7}#1.4#0; comctl32.Ocx
...
Рейтинг: 0 / 0
PNG изображения в стандартных контролах VB6.
    #39764897
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько помню, стандартная библиотека для этих целей называется gdiplus.dll

Все необходимое для работы с изображениями там есть.
...
Рейтинг: 0 / 0
PNG изображения в стандартных контролах VB6.
    #39764911
ЦЦа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ATM-TURBO 2,

по крайней мере часть use cases закрывается конвертированием PNG в EMF, имеющем внутри себя EMR_ALPHABLEND ( ту же AlphaBlend()) с тем же DIB в PixelFormat32bppPARGB. Пример на форуме: 10895839 . Это один модуль с run-time зависимостью от GDI+.
...
Рейтинг: 0 / 0
PNG изображения в стандартных контролах VB6.
    #39764919
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EoltTest_EXE_Linked - не билдится:

авторMicrosoft (R) Incremental Linker Version 14.16.27026.1
Copyright (C) Microsoft Corporation. All rights reserved.

LINK : warning LNK4010: invalid subsystem version number 4.0; default subsystem version assumed
LINK : fatal error LNK1104: cannot open file 'kernel32.lib'

Исправил, это было из-за неправильной конфигурации git
...
Рейтинг: 0 / 0
PNG изображения в стандартных контролах VB6.
    #39764922
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В 2017 студии VBPng не собирается. Просит (Platform Toolset = 'v100').

автор1>------ Rebuild All started: Project: VBPng, Configuration: ReleaseDll Win32 ------
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.Cpp.Platform.targets(65,5): error MSB8020: The build tools for Visual Studio 2010 (Platform Toolset = 'v100') cannot be found. To build using the v100 build tools, please install Visual Studio 2010 build tools. Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution".
1>Done building project "VBPng.vcxproj" -- FAILED.
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
...
Рейтинг: 0 / 0
PNG изображения в стандартных контролах VB6.
    #39764927
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЦЦаНасколько помню, стандартная библиотека для этих целей называется gdiplus.dll

Все необходимое для работы с изображениями там есть.
Ну и? Модуль как раз и использует gdi+ в описании же написано.

ЦЦаATM-TURBO 2,

по крайней мере часть use cases закрывается конвертированием PNG в EMF, имеющем внутри себя EMR_ALPHABLEND ( ту же AlphaBlend()) с тем же DIB в PixelFormat32bppPARGB. Пример на форуме: 10895839 . Это один модуль с run-time зависимостью от GDI+.
Не понимаю причем тут это.
...
Рейтинг: 0 / 0
PNG изображения в стандартных контролах VB6.
    #39764931
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EoltВ 2017 студии VBPng не собирается. Просит (Platform Toolset = 'v100').

автор1>------ Rebuild All started: Project: VBPng, Configuration: ReleaseDll Win32 ------
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.Cpp.Platform.targets(65,5): error MSB8020: The build tools for Visual Studio 2010 (Platform Toolset = 'v100') cannot be found. To build using the v100 build tools, please install Visual Studio 2010 build tools. Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution".
1>Done building project "VBPng.vcxproj" -- FAILED.
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

Ну выбери свой набор, я просто в 2010 собирал:
...
Рейтинг: 0 / 0
PNG изображения в стандартных контролах VB6.
    #39764933
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ATM-TURBO 2,

да сейчас попробую, просто некоторые проекты после смены платформы перестают собираться почему-то
...
Рейтинг: 0 / 0
PNG изображения в стандартных контролах VB6.
    #39764946
ЦЦа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ATM-TURBO 2ЦЦаНасколько помню, стандартная библиотека для этих целей называется gdiplus.dll

Все необходимое для работы с изображениями там есть.
Ну и? Модуль как раз и использует gdi+ в описании же написано.Не я автор цитаты.

ATM-TURBO 2Не понимаю причем тут это.При том, что размах могуч, но при рассмотрении случаев реальных применений может оказаться, что слишком могуч, и можно обойтись меньшей кровью и прочим геморроем.
...
Рейтинг: 0 / 0
PNG изображения в стандартных контролах VB6.
    #39764948
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Platform Toolset: Visual Studio 2017 (v141)

Ошибка при ребилде:

автор1>------ Rebuild All started: Project: VBPng, Configuration: ReleaseDll Win32 ------
1>CHooker.cpp
1>CPicture.cpp
1>c:\users\alex\downloads\vbpng-master (1)\vbpng-master\vbpnglibcpp\cpicture.cpp(68): warning C4244: '+=': conversion from 'LONGLONG' to 'DWORD', possible loss of data
1>c:\users\alex\downloads\vbpng-master (1)\vbpng-master\vbpnglibcpp\cpicture.cpp(223): warning C4533: initialization of 'rc' is skipped by 'goto CleanUp'
1>c:\users\alex\downloads\vbpng-master (1)\vbpng-master\vbpnglibcpp\cpicture.cpp(178): note: see declaration of 'rc'
1>c:\users\alex\downloads\vbpng-master (1)\vbpng-master\vbpnglibcpp\cpicture.cpp(223): note: see declaration of 'CleanUp'
1>dllmain.cpp
1>ldasm.cpp
1>VBPng.cpp
1>LINK : fatal error LNK1181: cannot open input file 'msvcrt_winxp.obj'
1>Done building project "VBPng.vcxproj" -- FAILED.
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
...
Рейтинг: 0 / 0
PNG изображения в стандартных контролах VB6.
    #39764958
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЦЦаПри том, что размах могуч, но при рассмотрении случаев реальных применений может оказаться, что слишком могуч, и можно обойтись меньшей кровью и прочим геморроем.
Покажи пожалуйста как с помощью модуля который ты мне приводишь в качестве примера сделать тоже самое что на видео. Я пока вообще не вижу связи, либо ты не понял для чего модуль предназначен.
...
Рейтинг: 0 / 0
PNG изображения в стандартных контролах VB6.
    #39764970
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EoltPlatform Toolset: Visual Studio 2017 (v141)

Ошибка при ребилде:

автор1>------ Rebuild All started: Project: VBPng, Configuration: ReleaseDll Win32 ------
1>CHooker.cpp
1>CPicture.cpp
1>c:\users\alex\downloads\vbpng-master (1)\vbpng-master\vbpnglibcpp\cpicture.cpp(68): warning C4244: '+=': conversion from 'LONGLONG' to 'DWORD', possible loss of data
1>c:\users\alex\downloads\vbpng-master (1)\vbpng-master\vbpnglibcpp\cpicture.cpp(223): warning C4533: initialization of 'rc' is skipped by 'goto CleanUp'
1>c:\users\alex\downloads\vbpng-master (1)\vbpng-master\vbpnglibcpp\cpicture.cpp(178): note: see declaration of 'rc'
1>c:\users\alex\downloads\vbpng-master (1)\vbpng-master\vbpnglibcpp\cpicture.cpp(223): note: see declaration of 'CleanUp'
1>dllmain.cpp
1>ldasm.cpp
1>VBPng.cpp
1>LINK : fatal error LNK1181: cannot open input file 'msvcrt_winxp.obj'
1>Done building project "VBPng.vcxproj" -- FAILED.
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

Если ты хочешь пересобрать библиотеку, а не пользоваться готовой.
Нужно либо установить WDK, это в случае если хочешь чтобы производимые exe-шники работали на всех системах без всяких доп зависимостей. Там будет msvcrt_winxp.obj который позволяет использовать msvcrt.dll доступный на чистой XP и выше. Также можно просто скачать нужные библиотечные файлы без установки WDK (msvcrt.lib и msvcrt_winxp.obj). Первый дает линкеру понять что нужно линковать не со спецефичной CRT (типа MSVCR100.dll), а с системной MSVCRT.DLL. Второй задает минимальную версию.
Если зависимости не смущают, то в настройках проекта нужно просто убрать msvcrt_winxp.obj и msvcrt.lib для билда ReleaseDll, и msvcrt_winxp.obj
Если зависимости не смущают то можно просто в билде ReleaseDll убрать msvcrt.lib и msvcrt_winxp.obj из доп зависимостей компоновщика, для билда ReleaseLib удалить msvcrt.lib и msvcrt_winxp.obj, и добавить свою CRT которая используется по умолчанию студией (обычно лежит в папке \VC\lib\).
...
Рейтинг: 0 / 0
PNG изображения в стандартных контролах VB6.
    #39764975
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потестил на PNG файлах. Почему-то при добавлении этого файла, студия крашится: http://pngimg.com/uploads/light/light_PNG14440.png
...
Рейтинг: 0 / 0
PNG изображения в стандартных контролах VB6.
    #39764978
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EoltПотестил на PNG файлах. Почему-то при добавлении этого файла, студия крашится: http://pngimg.com/uploads/light/light_PNG14440.png
Спасибо за тестирование, сейчас постараюсь исправить.
...
Рейтинг: 0 / 0
PNG изображения в стандартных контролах VB6.
    #39764992
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Eolt,
Баг исправлен. В методе CPicture::LoadFromStream неверно заполнялось поле bi.bmiHeader.biHeight , было:
Код: plaintext
1.
2.
3.
4.
5.
	bi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
	bi.bmiHeader.biBitCount = 32;
	bi.bmiHeader.biHeight = -rc.Width;
	bi.bmiHeader.biWidth = rc.Width;
	bi.bmiHeader.biPlanes = 1;


стало:
Код: plaintext
1.
2.
3.
4.
5.
	bi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
	bi.bmiHeader.biBitCount = 32;
	bi.bmiHeader.biHeight = -rc.Height;
	bi.bmiHeader.biWidth = rc.Width;
	bi.bmiHeader.biPlanes = 1;


Еще раз спасибо, за тестирование. Обновил.
...
Рейтинг: 0 / 0
PNG изображения в стандартных контролах VB6.
    #39764993
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вообще автор молодец! Проект круто сделан. Посредством хака обновил среду разработки, заставил ее работать с png файлами.
...
Рейтинг: 0 / 0
PNG изображения в стандартных контролах VB6.
    #39764997
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EoltА вообще автор молодец! Проект круто сделан. Посредством хака обновил среду разработки, заставил ее работать с png файлами.
Спасибо. Хорошо даже не это, а то что в скомпилированном файле также будут лежать PNG ресурсы с альфа каналом и EXE/DLL будет загружать их во время работы. Также данную библиотеку можно при желании использовать и в VBA (32bit) и вообще где угодно, где используются ActiveX контролы.
...
Рейтинг: 0 / 0
PNG изображения в стандартных контролах VB6.
    #39765012
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже еще один баг. Почему-то перестали добавляться PNG в контролы. Все время пишет Invalid Picture
...
Рейтинг: 0 / 0
PNG изображения в стандартных контролах VB6.
    #39765019
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EoltПохоже еще один баг. Почему-то перестали добавляться PNG в контролы. Все время пишет Invalid Picture
После чего такое поведение проявилось? Dll обновил после последнего багфикса?
...
Рейтинг: 0 / 0
PNG изображения в стандартных контролах VB6.
    #39765020
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже дело в плохих PNG файлах в архиве. Они или испорчены, или в каком-то непонятном формате.
...
Рейтинг: 0 / 0
PNG изображения в стандартных контролах VB6.
    #39765029
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EoltПохоже дело в плохих PNG файлах в архиве. Они или испорчены, или в каком-то непонятном формате.
Я новичек в работе с гитхабом, поэтому полно ошибок в настройке. Обновил настройки, сейчас все должно правильно качаться. Просто я добавил в атрибуты *.png binary, а у некоторых файлов расширение с заглавной буквы было поэтому он заменял там перевод строки.
...
Рейтинг: 0 / 0
PNG изображения в стандартных контролах VB6.
    #39765035
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос про линковку файлов.

Можно ли делать свои obj файлы и линковать их к VB-экзешникам? И чтобы функции в OBJ были доступны из VB-кода (Не через секцию экспорта в EXE)

И еще допустим у меня проект использует много DLL библиотек. Я могу получить из них OBJ подобной утилитой . Смогу я слинковать эти OBJ с моим VB-экзешником, чтобы они были доступны из кода?
...
Рейтинг: 0 / 0
25 сообщений из 28, страница 1 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / PNG изображения в стандартных контролах VB6.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]