|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.12.2007, 16:10 | #1 |
Форумчанин
Регистрация: 01.09.2007
Сообщений: 747
|
Сжатие битмапа
Доброго времени суток.
Проблема такая, есть к примеру 1000 битмапов размером 900*1200 их нужно сжать одновременно такими способами: 1. Сделать битмап нецветным, с оттенками серого 2. Сделать размером 300*400 3. Заархивировать 4. Извлеч для просмотра Все это сделать на C++ Билдере Еще я предполагаю, кто будет пользоваться моей прогой имеют архиватор win rar. Лучше дайте ссылки, где все описано. Заранее спасибо.
Никому не верьте.
|
06.12.2007, 16:30 | #2 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Скажу вам одно... для рар Вам пойдет и rar.exe из поставки winrar + unrar. Вот и архивирование. Для маштабирования изображения смотрите статьи в DelphiWorld. Для того чтобы поменять битность изображения Вам надо разобраться с битами... там все просто... Если имелось ввиду 4 бита то там вообще палитра нужна. Что собственно если не ковырять уже реализовано в классе TBitmap. Вот и все. Думаю дельфи на с++ перевести сможете.
|
06.12.2007, 16:33 | #3 |
Форумчанин
Регистрация: 15.11.2007
Сообщений: 229
|
Вот как изменить качество битмапа:
image1.Picture.Bitmap.PixelFormat:= pf4bit; Вот как считать качество: case Image1.Picture.Bitmap.PixelFormat of pfDevice: S:='Аппаратная'; pf1bit: S:='1 бит'; pf4bit: S:='4 бита (default)'; pf8bit: S:='8 бит'; pf15bit: S:='15 бит'; pf16bit: S:='16 бит'; pf24bit: S:='24 бита'; pf32bit: S:='32 бита'; pfCustom: S:='Custom'; Label1.Caption:=S; Ну шоб изменить размеры: Image1.Proportional:=true; //чтобь картинка не была непропорциональной Image1.Stretch:=true; // собственно растяжение Image1.Width:=400; Image1.Height:=300; Как нибудь заархивируешь, думаю на С не сложно будет переписать. Кстати напиши как можно заархивировать файл (программно)
Компьютер не подчиняется законам физики: глюки возникают из ниоткуда, файлы исчезают в никуда, а вес измеряется в метрах.
Последний раз редактировалось NoName_emaNoN; 06.12.2007 в 16:43. Причина: дополнено |
06.12.2007, 17:51 | #4 |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
Код:
|
06.12.2007, 20:16 | #5 |
Форумчанин
Регистрация: 15.11.2007
Сообщений: 229
|
А какие там параметры, поподробней плиз.
Компьютер не подчиняется законам физики: глюки возникают из ниоткуда, файлы исчезают в никуда, а вес измеряется в метрах.
|
06.12.2007, 21:39 | #6 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Раз это консольная версия более разумного производителя он наверняка сделал параметр к ней типа -h or /h or h. Типа вызов хелпа. Обычно все консоли выводят информацию о параметрах т.е. Вы должны написать батник
Код:
Да кстати, очень плохо что Вы используете метод Strench. Метод от gdi не очень хорош сам по себе. Я же вроде написал смотрите примеры маштабирования в DelphiWorld, плюс думаю их и так в интернете не мало. Последний раз редактировалось BOBAH13; 06.12.2007 в 21:42. |
06.12.2007, 22:54 | #7 |
Форумчанин
Регистрация: 15.11.2007
Сообщений: 229
|
Согласен, тоже не нравиться как растяжение делается в TImage, сам писал собственный алгоритм расстяжения картинки, работает чуть дольше, но намного качественней, а Image.Stretch нужно использовать, если нужно быстро и грубо увеличить какую-нибудь картинку.
Компьютер не подчиняется законам физики: глюки возникают из ниоткуда, файлы исчезают в никуда, а вес измеряется в метрах.
|
08.12.2007, 16:38 | #8 |
Форумчанин
Регистрация: 01.09.2007
Сообщений: 747
|
Спасибо за ответы.
Никому не верьте.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
запись битмапа в файл | SunKnight | Общие вопросы Delphi | 8 | 09.06.2008 08:56 |
Как ускорить загрузку битмапа в tImage | Altera | Мультимедиа в Delphi | 10 | 24.03.2008 17:39 |
Изменение размера - Сжатие BMP в TImage | Air | Помощь студентам | 2 | 02.03.2008 17:00 |
Проверка на сжатие | vitalik007 | Общие вопросы Delphi | 3 | 20.08.2007 10:53 |
как рисовать на канве битмапы учитывая прозрачность участков битмапа? | Alar | Общие вопросы Delphi | 0 | 29.10.2006 23:06 |