|
10 / 9 / 1
Регистрация: 29.05.2010
Сообщений: 15
|
||||||
Программа просмотра изображений21.12.2010, 16:49. Показов 18084. Ответов 16
Метки нет (Все метки)
Доброго всем дня! (утра, ночи, вечера)
Задача передо мной следующая - написать программу просмотра изображений средствами C++ Builder 6. Готового исходника в интернете не нашел , потому пришлось писать самому . Стандартные средства, к сожалению не позволяют прогружать в Image ничего кроме bmp, ico, jpg а надо побольше форматов открывать. Наткнулся на информацию о GDIPlus и всех ее преимуществах. Скачал. Распаковал. Поключил к проекту. Вот только толком разобраться с ней не могу. Далее код:
А как мне сделать чтобы картинка открывалась из указанного в OpenDialog или OpenPiсtureDialog файла? Запихнуть OpenPictureDialog1->FileName в строку Gdiplus::Image image(L"123.TIF"); мне никак не удалось.
0
|
||||||
| 21.12.2010, 16:49 | |
|
Ответы с готовыми решениями:
16
Программа просмотра изображений Программа просмотра векторных изображений ошибка в программе просмотра изображений |
|
129 / 126 / 22
Регистрация: 23.06.2009
Сообщений: 700
|
|||||||||||
| 21.12.2010, 17:09 | |||||||||||
|
в Builder6 можна подключить ещо png и gif. Png можна прямо через image подгружать(открывать), а вот с gif я пока не разобрался.. получаеться только с файла читать ( никак не могу понять как можна считать откуда то с программы его, а хочеться)
вот кидаю "компоненту пнг" и файл GIFimage.pas. Уже не помню как : но вроде png устанавливать так : вкладка components -> install new components -Выбиаешь PNGImage.pas и в package name пишеш PngImage.bpk. ( в моем случае всё было в одной папке) а гифку.. просто добавляешь в проект - выбираешь там project->Compile unit. появиться файлик GIFImage.hpp который подключишь к проекту . загрузка gif с файла :
0
|
|||||||||||
|
10 / 9 / 1
Регистрация: 29.05.2010
Сообщений: 15
|
|
| 21.12.2010, 17:21 [ТС] | |
|
petruchodd, перед тем как использовать GDI, я сначала тоже думал про прямую загрузку в Image без всяких там библиотек. Но с png у меня не получилось, а по gif на маломальски толковые примеры как то не наткнулся. К тому же (если верить инфе) то GDI позволит загружать как минимум bmp, ico, gif, jpg, png, cur, emf, tif а может и еще что. Потому я и решил что использовать лучше ее.
0
|
|
|
10 / 9 / 1
Регистрация: 29.05.2010
Сообщений: 15
|
|
| 25.12.2010, 19:36 [ТС] | |
|
вобщем сам уже разобрался. допишу прогу выложу исходники.
0
|
|
|
10 / 9 / 1
Регистрация: 29.05.2010
Сообщений: 15
|
|
| 25.12.2010, 22:31 [ТС] | |
Сообщение было отмечено как решение
Решениевот прога, которую писал и по поводу которой был вопрос. если у кого возникнет подобная проблема смотрите исходники. кроме того в программе реализовано масштабирование изображения, слайд-шоу, поворот изображения, вывод на печать ну и тд. программка еще не до конца написана так что имейте ввиду. Реализованио на c++ builder 6, все компоненты и библиотеки стандартные кроме gdiplus ЗЫ буду благодарен если сообщите о найденных косяках, и тем более если скажите как их исправить.программа просмотра изображений.zip ЗЫ2 не буду благодарен за излишнюю критику
5
|
|
|
129 / 126 / 22
Регистрация: 23.06.2009
Сообщений: 700
|
||
| 25.12.2010, 22:40 | ||
|
А так вообще классно.
1
|
||
|
|
|||||||
| 25.12.2010, 23:43 | |||||||
|
- Уменьшить - сначала увеличивает до оригинального размера - и только после второго клика - уменьшает - что есть неожиданно.
- Поворот - если изображение больше окна - уменьшает до размеров окна - что есть неожиданно. - Печать - окно сохранения документа в tiff - что есть совсем неожиданно, поскольку ожидается окно настройки задекларированой печати ( и почему только в tiff , который даже печатники принимают все неохотнее, но это так, к слову - или имеется ввиду "Печать в файл" ?) . - "Сохранить" - окно "Сохранить как" - что есть немножко неожиданно. - Автопросмотр - я бы совместил с кнопкой Начать - . Или обозвал "Режим автопросмотра" и сделал "залипание" и "отлипание" по "Прекратить" , а то путано как-то получается. - Нет поддержки animated gif . - В окошке перехода по файлам - хорошо бы открывать "в_один_клик" . - "Бог тебе в помощь!!! " - спасибо, конечно, но смахивает на хамство, т.е., шутка не удалась.Как исправить - код пока не смотрел. Критика конструктивная, ничего личного, так что - без обид, ОК ? По поводу комплиментов - см. пост petruchodd. Добавлено через 8 минут в RAD XE проект открылся зараз, но при компиляции:
Добавлено через 4 минуты ругается на строки
1
|
|||||||
|
10 / 9 / 1
Регистрация: 29.05.2010
Сообщений: 15
|
|||
| 26.12.2010, 00:11 [ТС] | |||
|
0
|
|||
|
PRONGS
|
|
| 11.01.2011, 21:07 | |
|
поделись исправленным исходником, а то чет ошибку не удалось у меня исправить
|
|
|
10 / 9 / 1
Регистрация: 29.05.2010
Сообщений: 15
|
|
| 28.01.2011, 10:33 [ТС] | |
|
4
|
|
|
|
|
| 28.01.2011, 11:38 | |
|
По интерфейсу
1. Хорошо бы как-то выделять активную кнопку, потому как путает 2. Если уж так задумано, то радиокнопки , если не нажата кнопка Автопросмотр, должны быть не активными, а то 3. Нет хинтов у Play-Pause-Stop 4. При наведенни курсора на кнопку сделайте "длинные" хинты в панели состояния 5. В меню Действия - имхо, больше подходит что-то типа Просмотр - нет пункта Автопросмотр с подпунктами Play-Pause-Stop 6. Хорошо бы PopupMenu с дублированием меню Действия при правом клике на картинке 7. Двойной клик для открытия файла - сподручнее - один клик Добавлено через 1 минуту При размерах картинки - больше размеров окна - хорошо бы иметь возможность двигать картинку курсором типа "Лапа" , а не только скролбарамиДобавлено через 4 минуты если картинка больше окна - очень долго поворачивает - батон Поворот на 90•.
0
|
|
|
244 / 37 / 8
Регистрация: 05.05.2012
Сообщений: 521
|
|||||||||||
| 27.01.2013, 10:35 | |||||||||||
|
Здравствуйте!
Помогите, пожалуйста! У меня не работает выложенная здесь программа. Ошибка в функции
0
|
|||||||||||
|
Супер-модератор
|
|
| 28.01.2013, 19:04 | |
|
Simply me, открой файл GdiplusGraphics.h, и посмотри, в 74 строке закомментировано ли у тебя вот это значение по умолчанию, или нет:
В новых версиях, как видишь, оно закомментировано...
2
|
|
|
435 / 402 / 57
Регистрация: 06.02.2012
Сообщений: 1,384
|
|
| 29.01.2013, 03:25 | |
|
Недостатки:
- Окно всегда на весь экран - При картинке больше окна, когда двигаешь скролбары картинка смещается только при отпускании скролов, если будет смещаться в процессе движения скролов будет удобней.
0
|
|
|
244 / 37 / 8
Регистрация: 05.05.2012
Сообщений: 521
|
|
| 29.01.2013, 08:11 | |
|
UI, спасибо! Действительно, было не закомментировано. Теперь работает)
0
|
|
|
AuToSaVe
|
|
| 22.05.2013, 00:55 | |
|
Ребята помогите, есть программа просмотра изображений, но не могу вставить функцию рисования линии ( то есть нужно провести линию из точки А в точку Б) иными словами сделать пометку на картинке, помогите решить проблему, исходник прикреплен.
|
|
|
0 / 0 / 0
Регистрация: 31.07.2016
Сообщений: 1
|
||||||
| 25.07.2019, 09:59 | ||||||
|
А мне не помогло только комментирование данного участка.
Ошибка вылезла "[BCC32 Error] E2015 Ambiguity between SysUtils.hpp:2363" Я сделал так: Кликните здесь для просмотра всего текста
C++Builder XE2
0
|
||||||
| 25.07.2019, 09:59 | |
|
Помогаю со студенческими работами здесь
17
Простая программа для просмотра списка файлов Программа просмотра изображений. Программа для просмотра изображений Программа для просмотра изображений Программа для просмотра изображений Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|