Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.76/33: Рейтинг темы: голосов - 33, средняя оценка - 4.76
0 / 0 / 3
Регистрация: 12.04.2010
Сообщений: 99

compess images (Разработка программы)

20.04.2010, 12:53. Показов 7114. Ответов 72
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе время суток уважаемые программисты.
Я совсем недавно начал увлекаться программированием, и мне захотелось освоить Builder. Сейчас мне для себя хочется написать программу, которая будит способна изменять размерность фотографии, по указанным критериям.

все что я пока сделал, это примерно набросал, как хотелось бы видеть этот продукт


Сейчас я хочу организовать отображение изображений gif, jpg и bmp в ListView. Но открывается как-то не так как хотелось бы.
C++
1
2
3
4
5
6
7
8
9
10
11
    void __fastcall TForm1::Button3Click(TObject *Sender)
{
     FILE *FOpen;
 
    if( OpenDialog->Execute() )
    {
        FOpen = fopen(OpenDialog->FileName.c_str(), "r+");
                    }
                ListView1 -> AddItem(OpenDialog->FileName,NULL);
 
    fclose(FOpen);
я столкнулся с несколькими проблемами.
1) не могу добавить одновременно несколько файлов
2) отображается только путь файла


Помогите разобраться как сделать правильное отображение файла. Что б в таблице был виден тип файла и размер.
Миниатюры
compess images (Разработка программы)  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.04.2010, 12:53
Ответы с готовыми решениями:

Как сохранить все превьюшки из google/images или yandex/images или gogo.ru/images
Мне требуется много маленьких картинок, которые можно взять на поиске по картинкам. Скажите пожалуйста, как это сделать? Если сохранять из...

Написание программы с использованием файловых переменных. Разработка программы для работы с текстовым файлом
Помогите пожалуйста : С помощью текстового редактора создать текстовый файл file1. Переписать строки файла file1 в новый текстовый файл...

Разработка программы на С#
Нужна помощь в написании программы на С#, программа не сложная(уровень - 1 курс ВУЗа). Цена договорная. Почта: ivan.bel@mail.ru

72
0 / 0 / 3
Регистрация: 12.04.2010
Сообщений: 99
31.05.2010, 17:59  [ТС]
Студворк — интернет-сервис помощи студентам
теперь совсем все непонятно стало (((((((

Добавлено через 44 минуты
попробовал делать так
C++
1
2
 AnsiString path = ListView1->Items->GetNamePath();
        jpg->LoadFromFile(path);
Builder проглатил, но когад нажимаю не сому кнопку компрес выбивает ошибку нижу покоду в этом месте
C++
1
2
bmp->Width = 100;
bmp->Height = 100;
0
332 / 247 / 32
Регистрация: 13.12.2009
Сообщений: 589
31.05.2010, 18:15
Цитата Сообщение от HollywooD-new Посмотреть сообщение
выбивает ошибку нижу покоду в этом месте
наклей бумажку на монитор с надписью "Всегда пиши текст ошибки на форумах!"

а при чём тут GetNamePath()?
0
0 / 0 / 3
Регистрация: 12.04.2010
Сообщений: 99
31.05.2010, 18:41  [ТС]
ну мне показалось что из этого что-то получится)
а выбивает мне следующее:
0
332 / 247 / 32
Регистрация: 13.12.2009
Сообщений: 589
31.05.2010, 18:53
надо хотя бы основы английского знать
он же пишет что не может открыть файл "TListItems"
1
0 / 0 / 3
Регистрация: 12.04.2010
Сообщений: 99
31.05.2010, 18:58  [ТС]
Roma_F, помогите мне пожалуйста написать эту функцию сжатия, без вашей помощи у меня вряд ли что получится.
0
332 / 247 / 32
Регистрация: 13.12.2009
Сообщений: 589
31.05.2010, 23:58
завтра
0
0 / 0 / 3
Регистрация: 12.04.2010
Сообщений: 99
01.06.2010, 13:47  [ТС]
Roma_F, добрый день, вы не заняты?
0
332 / 247 / 32
Регистрация: 13.12.2009
Сообщений: 589
01.06.2010, 14:14
C++
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
void __fastcall TForm1::compressClick(TObject *Sender)
{
    for (int i = 0; i < ListView1->Items->Count; i++)
    { 
        if (ListView1->Items->Item[i]->Checked == true)
        {        
            Graphics::TBitmap * bmp = new Graphics::TBitmap();
            TJPEGImage * jpg = new TJPEGImage();
            AnsiString path = ListView1->Items->Item[i]->SubItems->Strings[2];
            AnsiString name = ExtractFileName(path);
            int pos = name.LastDelimiter(".");
            name = name.SubString(1, pos-1);
            AnsiString new_path = ExtractFilePath(path) + name + "_resized.jpg";
 
            jpg->LoadFromFile(path);
            bmp->Width = 100;
            bmp->Height = 100;
            bmp->Canvas->StretchDraw(TRect(0,0,bmp->Width,bmp->Height), jpg);
            jpg->Assign(bmp);
            jpg->CompressionQuality = 75;
            jpg->PixelFormat = jf24Bit;
            jpg->Compress();
            jpg->SaveToFile(new_path);
            
            delete jpg;
            delete bmp;
        }
    }
}
//---------------------------------------------------------------------------
Добавлено через 19 минут
C++
1
2
bmp->Width = 100;
bmp->Height = 100;
только пропорции bmp должны соответствовать пропорциям входного изображения
1
0 / 0 / 3
Регистрация: 12.04.2010
Сообщений: 99
02.06.2010, 16:46  [ТС]
Roma_F, СПАСИБО ВАМ ОГРОМНОЕ) Все заработало)

Добавлено через 16 часов 41 минуту
Хочу добавить в программу ProgressBar, но почему то ему не присваиваются так значения, в чем проблем не могу понять.
C++
1
2
num = ( 100 *(i/ListView1->Items->Count));
          ProgressBar1->Position = num ;
i - номер итерации
ListView1->Items->Count - количество элементов
0
 Аватар для Danil_e71
32 / 32 / 8
Регистрация: 07.02.2010
Сообщений: 92
02.06.2010, 18:11
А чему равно num?Сделай num double
Сравни
C++
1
AnsiString  str;
C++
1
2
3
double x1=100,x2=223;
double h=x1/x2;
str.printf( "%.3f\n", h );
И
C++
1
2
3
int x1=100,x2=223;
double h=x1/x2;
str.printf( "%.3f\n", h );
Так понятней)
Твой код:
C++
1
2
double num = ( (double)100 *((double)i/(double)ListView1->Items->Count));
          ProgressBar1->Position = num ;
1
0 / 0 / 3
Регистрация: 12.04.2010
Сообщений: 99
04.06.2010, 00:15  [ТС]
хочу подключить Unit2 (как About о программе)
1. создал форму
2. File -> Include Unet Hdr... (в обоих Project)
3. #include "Unit2.h"

а теперь не знаю как вызвать её при на жатии на кнопку(
C++
1
2
3
4
void __fastcall TForm1::About1Click(TObject *Sender)
{
???
}
Добавлено через 27 минут
если
C++
1
2
3
4
void __fastcall TForm1::About1Click(TObject *Sender)
{
AboutBox->ShowModal();
}
то пишет ошибку: Unresolved external '_AboutBox' referenced from D:\... \Unit1.OBJ

Добавлено через 32 минуты
Разобрался вместо Unit2.h надо было подключить Unit2.cpp
0
 Аватар для Danil_e71
32 / 32 / 8
Регистрация: 07.02.2010
Сообщений: 92
04.06.2010, 16:55
1. File->New Form
2. В Unit1.h
C++
1
2
#include "Unit2.h"
Form2->Show();
Не видел, что исправлено)))
0
0 / 0 / 3
Регистрация: 12.04.2010
Сообщений: 99
12.06.2010, 17:33  [ТС]

Не по теме:

Курсовую сдал и защитил на 5. Хочу сказать Огромное спасибо, всем кто помогал мне с написанием программы



Вот весь исходник рабочий программы, если кому-то понадобится) Compress images.rar
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.06.2010, 17:33

Разработка программы
Напишите модуль включающий процедуру CallMe и функцию CallCount. Первая выводит на дисплей сообщение, переданное в качестве параметра, а...

Разработка программы!!
Сделайте программу органайзер ну или адресная книга с помощью С#!!

Разработка программы
Здравствуйте, пишу легкую игру и все время сталкиваюсь с тем, что сбиваюсь с &quot;маршрута&quot; данной программы. Например, делаю кнопку не...

Разработка программы..
Здравствуйте, нужна помощь в написание программы, реализ. обработку числового двумерного массива методом поиска;( Спасибо.

Разработка программы
Разработать программу для задания: найти сумму положительных элементов квадратной матрицы (10*10). Подскажите, что-то никак не выходит.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
73
Ответ Создать тему
Новые блоги и статьи
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru