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

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

20.04.2010, 12:53. Показов 6825. Ответов 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
Ответ Создать тему
Новые блоги и статьи
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru