Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/74: Рейтинг темы: голосов - 74, средняя оценка - 4.91
Demon221223
1

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

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

Народ объясните плз как запихнуть JPG в Bitmap, чтобы потом его можно было обрабатывать? И как получать быстрый доступ к цвету в пикселе?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.04.2007, 01:46
Ответы с готовыми решениями:

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

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

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

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

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

Так надо-то в Вitmap, а не в Image, если я правильно понял...
Как понимать в Bitmap? Это компонент, что ли новый такой?
0
23.04.2007, 16:23 9
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 10
loki, кстати а как в программе можно перегнать .jpg в .bmp
0
5 / 4 / 3
Регистрация: 01.05.2006
Сообщений: 181
23.04.2007, 17:21 11
Я сделал такой вывод из первого сообщения. Там четко сказано:
как запихнуть jpg в bitmap
. Вот из-за этого я и запутался.
0
0 / 0 / 0
Регистрация: 20.04.2007
Сообщений: 7
23.04.2007, 17:32 12
Цербер, ну а что сошибкой то делать?
0
Почетный модератор
7385 / 2629 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
23.04.2007, 22:08 13
Вот таким образом можно, загрузив .jpg в Image можно сделать из него .bmp. Компонент все делает за нас автоматически.

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

Код
#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
Эксперт С++
8297 / 6128 / 613
Регистрация: 10.12.2010
Сообщений: 28,659
Записей в блоге: 30
31.05.2011, 23:45 15
Лучший ответ Сообщение было отмечено как решение

Решение

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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.05.2011, 23:45

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru