Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
1 / 1 / 4
Регистрация: 16.03.2013
Сообщений: 23

Копирование картинки из программы на диск

16.03.2013, 18:52. Показов 1347. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.

Я добавил в программу картинку ( создал в папке с проектом файл main.rc, прописал в него название картинки, которую нужно добавить в exe файл, саму картинку положил туда же ). Теперь нужно сделать так, что бы после нажатия на кнопку эта картинка копировалась на диск D в папку Test.

Еще я подозреваю, что не правильно добавил изображение в ресурсы. Помогите пожалуйста

Добавлено через 2 часа 13 минут
Другими словами, нужно что бы после нажатия на кнопку "Старт" программа создала картинку по пути D:\Test. Картинка должна уже быть в программе такая, что я положил.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.03.2013, 18:52
Ответы с готовыми решениями:

Копирование картинки
Есть два компонента Image, заданы переменные с шириной и высотой(width, height), задана переменная Zoom(изначально равна 1), пытаюсь...

ASPSmartUpload и копирование из БД на диск
Имеет место быть следующая проблема - надо файл из базы скопировать на диск (локальный пользователя). Как это сделать с помощью...

копирование картинки в TImage
хочу сделать красивый прогрессбар.создал TImage 9x380 pixels. в него по таймеру должна вставляться картинка 9х1 пиксел. как можно сделать...

14
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
16.03.2013, 19:02
http://wladm.narod.ru/Borland/res.html#4
0
1 / 1 / 4
Регистрация: 16.03.2013
Сообщений: 23
16.03.2013, 19:10  [ТС]
Цитата Сообщение от Sasha Посмотреть сообщение
У меня картинка в формате JPEG\PNG с расширением 1920х1080. Этот способ, видимо, не подойдет.

Вроде, задание простое, из ресурсов положить файл на ЖД, а понять не могу (

Эту (http://netcode.ru/cpp/?lang=&k... &artID=540) статью читал, но у меня код не компилируется.
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
16.03.2013, 19:26
Senpos
Для начала: DLL, как контейнер изображений. [FAQ]
После этого грузить картинку в поток TResourceStream, а потом из этого потока подгружать в граф. класс вот так TJPEGImage::LoadFromStream (вот тут пример: https://www.cyberforum.ru/post3344783.html)
Чтобы затем сохранить картинку на винт , нужно открыть файл с помощью TFileStream и затем с помощью TJPEGImage::SaveToStream сохранить.
1
1 / 1 / 4
Регистрация: 16.03.2013
Сообщений: 23
16.03.2013, 19:31  [ТС]
kzru_hunter, спасибо за ответ!

Смогу ли я проделать все те же операции, только с добавлением изображений не в dll, а в мою программу? Мне нужно что бы она была одним файлом, без дополнительных библиотек.
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
16.03.2013, 19:35
Цитата Сообщение от Senpos Посмотреть сообщение
Смогу ли я проделать все те же операции, только с добавлением изображений не в dll, а в мою программу?
Можно и в exe, те же действия (Project->Add to project.. и выбираешь картинку)
1
1 / 1 / 4
Регистрация: 16.03.2013
Сообщений: 23
16.03.2013, 19:40  [ТС]
Вот получилось загрузить картинку в проект. После компиляции и открытия программы в Resource Tuner она видна в RCDATA
http://puu.sh/2iGbW

Хотел пойти по простому, но, наверное, глупому пути и написать:
C++
1
CopyFile("PICTURE", "D:\\Test", false);
но ничего не вышло

Простите, так что мне теперь делать, когда картинка в программе?
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
16.03.2013, 19:55
Цитата Сообщение от Senpos Посмотреть сообщение
так что мне теперь делать, когда картинка в программе
теперь по идее нужно открыть ресурс с помощью TResourceStream, затем открыть файл с помощью TFileStream,
и скопировать содержимое ресурса в файл с помощью TFileStream::CopyFrom()

Добавлено через 3 минуты
C++
1
2
3
4
5
    TResourceStream *rs = new TResourceStream(NULL, "JpgImage_1", RT_RCDATA);
    TFileStream *fs = new TFileStream("C:\\1.jpg", fmCreate);
    fs->CopyFrom(rs, rs->Size);
    delete fs;
    delete rs;
1
1 / 1 / 4
Регистрация: 16.03.2013
Сообщений: 23
16.03.2013, 20:02  [ТС]
kzru_hunter
C++
1
"JpgImage_1"
это название моей картинки?)
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
16.03.2013, 20:07
Цитата Сообщение от Senpos Посмотреть сообщение
это название моей картинки?)
нет, моей
1
1 / 1 / 4
Регистрация: 16.03.2013
Сообщений: 23
16.03.2013, 20:21  [ТС]
kzru_hunter, извиняюсь за тупость, но сам никак не разберусь. Сейчас скину всю информацию, если не заняты - помогите ))

Картинка в EXE файле присутствует:
http://puu.sh/2iHcO

Исходный код программы:
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
#include <vcl.h>
#pragma hdrstop
 
#include "main.h"
 
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
 
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
 
 
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Form1->Close();
}
 
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
        TResourceStream *rs = new TResourceStream(NULL, "PICTURE", RT_RCDATA);
        TFileStream *fs = new TFileStream("C:\\1.jpg", fmCreate);
        fs->CopyFrom(rs, rs->Size);
        delete fs;
        delete rs;
}
Содержимое файла main.rc:
C++
1
PICTURE RCDATA "C:\\1.jpg"
Картинка самой формы
http://puu.sh/2iHiS

Цель: скопировать картинку из программы на диск D:/

Если можно, подправьте, что не так ))
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
16.03.2013, 20:31
Цитата Сообщение от Senpos Посмотреть сообщение
Содержимое файла main.rc:
я через Project->Add to project добавлял картинку.
а если с помощью rc файла, то не помню, как там
0
1 / 1 / 4
Регистрация: 16.03.2013
Сообщений: 23
16.03.2013, 20:35  [ТС]
Цитата Сообщение от kzru_hunter Посмотреть сообщение
я через Project->Add to project добавлял картинку.
а если с помощью rc файла, то не помню, как там
Добавил через Project -> Add to project..

Конечного результата то как добиться? Просто в Вашем коде нет ни слова о диске D:\ )))
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
16.03.2013, 20:40
Только что попробовал в 6-м билдере:

main.rc:
// название ресурса, тип ресурса, имя файла картинки (лежит в папке с проектом)
PICTURE RCDATA pic.jpg
добавляем в проект main.rc с помощью Project->Add to project...

выполняем код:
C++
1
2
3
4
5
TResourceStream *rs = new TResourceStream(NULL, "PICTURE", RT_RCDATA);
        TFileStream *fs = new TFileStream("C:\\1.jpg", fmCreate); // сохраняем картинку на диск С
        fs->CopyFrom(rs, rs->Size);
        delete fs;
        delete rs;
1
1 / 1 / 4
Регистрация: 16.03.2013
Сообщений: 23
16.03.2013, 20:51  [ТС]
kzru_hunter, работает! Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.03.2013, 20:51
Помогаю со студенческими работами здесь

Копирование windows на другой диск
Полетел жесткий диск, временно поставил винду на другой. Теперь купил новый винт. Можно ли скопировать винду с временного на новый HDD,...

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

Копирование тома на другой диск
добрый. на основном жестком диске с виндой сейчас есть основной раздел и системный -100 мб. пока качается акронис, хочу узнать какой...

Копирование папки с диска на диск.
Возникла проблема.... Нужно что бы при нажатии на Command1, папка с диска D: копировалась на диск С:. А еще лучше, что бы прога...

Копирование части картинки sfml
Подскажите функцию из графической библиотке sfml или какой нибудь другой графической библиотеки для следующей задачи, у меня есть...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru