Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с изображениями 
V
    Опции темы
v2v
Дата 12.7.2007, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: нет
Всего: 56



мне надо:
1. загрузить файл рисунка
2. изменить его расширение
3. сохранить в новый файл
для первого пункта я уже нашёл функцию LoadImage()
а как дальше?


--------------------
PM   Вверх
zkv
Дата 12.7.2007, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 12
Всего: 92



Цитата(v2v @  12.7.2007,  09:08 Найти цитируемый пост)
2. изменить его расширение

что имеешь ввиду? просто изменить расширение файла, оставив прежнее содержимое? Или сохранить в другом формате? Если последнее, то с какими форматами надо работать?
PM MAIL   Вверх
v2v
Дата 12.7.2007, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: нет
Всего: 56



расширение рисунка.
был Х на У, а сделать 1200 на 1024 !

Добавлено через 4 минуты и 52 секунды
Код

HANDLE CopyImage(      
    HANDLE hImage,
    UINT uType,
    int cxDesired,
    int cyDesired,
    UINT fuFlags
);

вот эта функция подходит для изменения размера (п.2), но как теперь мне это в файл сохранить?


--------------------
PM   Вверх
zkv
Дата 12.7.2007, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 12
Всего: 92



Цитата(v2v @  12.7.2007,  14:01 Найти цитируемый пост)
расширение рисунка.

по моему это разрешение называется smile

с какими форматами работать нужно?
GDI+ можно юзать?
PM MAIL   Вверх
JUmPER
Дата 12.7.2007, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 22.8.2006

Репутация: нет
Всего: 3



Цитата(v2v @  12.7.2007,  14:01 Найти цитируемый пост)
расширение рисунка

это называется "размер"

это же функции для работы с ресурсами
лучше юзать спец классы, напр:
 
Image из GDI+
Цитата

The Image class provides methods for loading and saving raster images (bitmaps) and vector images (metafiles). An Image object encapsulates a bitmap or a metafile and stores attributes that you can retrieve by calling various Get methods. You can construct Image objects from a variety of file types including BMP, ICON, GIF, JPEG, Exif, PNG, TIFF, WMF, and EMF.



упс, не успел первым smile 

Это сообщение отредактировал(а) JUmPER - 12.7.2007, 14:22
--------------------
Существует 10 типов людей: те, которые понимают двоичную систему, и те, которые ее не понимаютСуществует 10 типов людей: те, кто понимают троичную систему, те, кто ее не понимают и те, кто путает ее с двоичной
PM MAIL   Вверх
v2v
Дата 12.7.2007, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: нет
Всего: 56



звиняйте за безграмотность).

нет ГДИ+ не подходит, нужны WinAPI функции.

Добавлено через 20 секунд
если конечно такие есть...


--------------------
PM   Вверх
zkv
Дата 12.7.2007, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 12
Всего: 92



Цитата(zkv @  12.7.2007,  14:21 Найти цитируемый пост)
с какими форматами работать нужно?


PM MAIL   Вверх
Coocky
Дата 12.7.2007, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: нет
Всего: 62




Цитата(v2v @  12.7.2007,  14:01 Найти цитируемый пост)
расширение рисунка.был Х на У, а сделать 1200 на 1024 !


Ребята немного сбились с толку твоим вопросом. Конечно можно StretchBlt функции можно МАСШТАБИРОВАТЬ картинку.Т.е сделать ее больше (имено в физических координатах)и меньше сооствествено.



--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
Coocky
Дата 12.7.2007, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: нет
Всего: 62



Да, совсем забыл. Тебе ж сохранить надо.
Потом вызываешь GetDIBits где получаешь массив этого битмапа. Затем,посмотрев заголовок файла битмапа,пишешь это заголовок и массив.
Да ,совсем забыл про такую вещь, как StretchDIBits Сразу растягивает. и у нее есть плюс
Цитата

Windows 98/Me, Windows 2000/XP: StretchDIBits has been extended to allow a JPEG or PNG image to be passed as the source image.


Добавлено через 4 минуты и 35 секунд
Также набери в МСДН StretchDIBits и там увидишь пример For an example, see Sizing a JPEG or PNG Image. По данной функции.
Вот еще,посмотри тут.Тоже интересное для себя подчеркнешь.
http://www.codeproject.com/bitmap/drawing2bitmap.asp

А вообще я всегда пользовался CImage  библиотекой




--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
v2v
Дата 12.7.2007, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: нет
Всего: 56



zkv, 
jpg.

ps. Бог ты мой, как оно всё криво, ну что ж буду пробывать. хотя пока исчу альтернативные варианты).



--------------------
PM   Вверх
zkv
Дата 12.7.2007, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 12
Всего: 92



Цитата(v2v @  12.7.2007,  18:00 Найти цитируемый пост)
как оно всё криво

это ты про CImage? Это вообще-то и есть GDI+ если тебя устраивает он, то им и стоит пользоваться.
PM MAIL   Вверх
Coocky
Дата 13.7.2007, 09:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: нет
Всего: 62



Цитата(v2v @  12.7.2007,  18:00 Найти цитируемый пост)
 Бог ты мой, как оно всё криво, ну что ж буду пробывать. хотя пока исчу альтернативные варианты).

Криво? Да халява полная!!! Не могу понять-какие проблемы-одной функцией изменить размер битмапа,другой записать.В чем кривизна? smile 
Да,согласен, в варианте с массивом и сохранением имеено в JPG нужно немного повозится. Повозится именно с записью самого формата. Ну а что ты хотел? формат появился намного позже GDI  функций, и уж под него стали писать позже.
Я б тебе накатал прогу с изменением размера и сохранением (там работы немного),но мне уже в лом всем писать проги. Если б со мной так возились в свое время.... smile 
Цитата(zkv @  12.7.2007,  18:19 Найти цитируемый пост)
это ты про CImage? Это вообще-то и есть GDI+

Хочу тебя немного поправить.В том -то и дело, что это не GDI+. Это ATL библиотека.И никакие либы за собой тянуть ненадо.Потому я его и предложил..


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
zkv
Дата 13.7.2007, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 12
Всего: 92



Цитата(Coocky @  13.7.2007,  09:15 Найти цитируемый пост)
В том -то и дело, что это не GDI+. Это ATL библиотека.

без gdiplus.dll только почему то не хочет работать (проверено)  smile 
PM MAIL   Вверх
Coocky
Дата 13.7.2007, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: нет
Всего: 62



Цитата(zkv @  13.7.2007,  10:57 Найти цитируемый пост)
без gdiplus.dll только почему то не хочет работать (проверено)

Да,действительно.Они это указали только в описании конструктора класса. Сорри  smile 

http://netcode.ru/cpp/?artID=4447
Мож поможет это? smile



--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
v2v
Дата 13.7.2007, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: нет
Всего: 56



Цитата

Криво? Да халява полная!!! 

это я как раз не про класс.... прикол в том что мне надо экспортить эти функции в другую среду, и там с ними работать ... а там с конвертированием байтов ой как не хорошо будет возится... 


--------------------
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0635 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.