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

Как запихнуть JPG в Bitmap

22.04.2007, 01:46. Показов 17174. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Народ объясните плз как запихнуть JPG в Bitmap, чтобы потом его можно было обрабатывать? И как получать быстрый доступ к цвету в пикселе?
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.04.2007, 01:46
Ответы с готовыми решениями:

Как оформить условие: если в Image1 загружен A.JPG, то загрузить туда B.JPG?
У меня в папке с программой лежат два файла A.JPG и B.JPG. Как сделать условие "если в Image1 загружен A.JPG, то загрузить туда...

Как нарисовать Bitmap на Bitmap?
Bitmap1->Canvas->Draw(1,1,Bitmap2); Так не работает, хотя с Image проходило.

Как обрезать Image (bitmap) в другой Image (bitmap)
Не получается никак пробовал с помощью Canvas->CopyRect. Вот метод где первый параметр изображение которое загрузили а второй обрезанное...

14
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
22.04.2007, 02:05
Какая среда?
0
0 / 0 / 0
Регистрация: 20.04.2007
Сообщений: 7
22.04.2007, 02:09
Builder
0
0 / 0 / 0
Регистрация: 20.04.2007
Сообщений: 7
22.04.2007, 02:29
loki, Builder там ведь в теории тока подключить чего-то надо , да?
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
22.04.2007, 04:36
Помести на форму Image. Загрузи туда свою картинку и методом GetPixel канвы получишь цвет пиксела.
0
5 / 4 / 3
Регистрация: 01.05.2006
Сообщений: 181
22.04.2007, 20:38
Так надо-то в Вitmap, а не в Image, если я правильно понял...
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
23.04.2007, 03:45
Если надо преобразовать из .jpg в .bmp, то воспользоваться можно тем же Image. А, вообще, обрабатывать и так можно...
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
23.04.2007, 06:32
Извините, конечно, ошибся... Не методом GetPixel (такого нет, просто), а массивом Pixels можно цвет получить. Просто, с WINAPI спутал. У свойства Picture объекта Image есть свойство Bitmap. Вот оно и возвращает картинку в формате .bmp

Так надо-то в Вitmap, а не в Image, если я правильно понял...
Как понимать в Bitmap? Это компонент, что ли новый такой?
0
23.04.2007, 16:23
loki, проблема в том, что если загрузить jpg в image , то при попытке использовать Pixels он выдает что для этого изображение должго быть загружено в Bitmap
цитирую:
"Can only modify an image if it contains a bitmap"
0 / 0 / 0
Регистрация: 20.04.2007
Сообщений: 7
23.04.2007, 16:41
loki, кстати а как в программе можно перегнать .jpg в .bmp
0
5 / 4 / 3
Регистрация: 01.05.2006
Сообщений: 181
23.04.2007, 17:21
Я сделал такой вывод из первого сообщения. Там четко сказано:
как запихнуть jpg в bitmap
. Вот из-за этого я и запутался.
0
0 / 0 / 0
Регистрация: 20.04.2007
Сообщений: 7
23.04.2007, 17:32
Цербер, ну а что сошибкой то делать?
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
23.04.2007, 22:08
Вот таким образом можно, загрузив .jpg в Image можно сделать из него .bmp. Компонент все делает за нас автоматически.

Image1-;Picture-;SaveToFile("C:\\kds.bmp");
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
23.04.2007, 22:45
Вобщем, вот небольшой примерчик тут накатал:

Code
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;
#include  Graphics.hpp;
#pragma hdrstop
 
#include  "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
Graphics::TBitmap *bmp = new Graphics::TBitmap();
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
bmp-;Height = Image1-;Picture-;Height;
bmp-;Width = Image1-;Picture-;Width;
bmp-;Canvas-;Draw(0, 0, Image1-;Picture-;Graphic);
Form1-;Color = bmp-;Canvas-;Pixels[10][10];
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
free(bmp);
}
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
31.05.2011, 23:45
Лучший ответ Сообщение было отмечено как решение

Решение

C++
1
2
3
4
5
#include <jpeg.hpp>
TJPEGImage *jpeg = new TJPEGImage;
Graphics::TBitmap *bmp = new Graphics::TBitmap;
bmp->Assign(jpeg);
jpeg->Assign(bmp);
5
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.05.2011, 23:45
Помогаю со студенческими работами здесь

Как запихнуть картинку и wav фаил в ресурсы?
как так вышло что я ни разу в жизни не использовал ресурсы. Соответственно вопросы: 1) Используя их , не надо уже хранить картинку в ...

Как запихнуть вместо TTray Icon Gauge?
Как запихнуть вместо TTray Icon Gauge?(Чтобы когда прога сворачивалась в трей, то Tray Icon Показывал сосотяние батареи с помощью...

Как запихнуть из формы (web) в базу(тип image) картинку(jpg)?
Как запихнуть из формы (web) в базу(тип image) картинку(jpg), и как потом её достать, делает ли так хто-нибудь?

Как массив байтов (1 байт на пиксель (изображение в оттенках серого) запихнуть в Bitmap и отобразить в PicterBox?
Здравствуйте! Мне понадобилось каждое входящее изображение переводить в изображение в градациях серого (256 цветов). В Bitmap, я так понял,...

Как запихнуть запихнуть объект Me в Long?
Как запихнуть Me в Long, а потом достать его? Спасибо?


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru