Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TImage-jpeg [D7, WinXP]


Ник ©   (2003-08-20 12:15:00) 

Есть картинка в формате JPEG, она загружается в Image.
Необходимо еще самостоятельно рисовать на Imag"e поверх этой картинки, но это можно делать только если рисунок типа TBitmap.
Как быть?


Zoltain   (2003-08-20 22:32:00) [1]

1.Гляди НИК если у тебя изображение размером около 40 мегов тогда используй png в нём качество лучше чем в jpg и размер меньше,а битмап глючить будет хорошо да и грузиться не быстро!.
2.Есть два выхода с этой ситуации
1) ты наверно знаешь, что такое undo так вот его можно просто создать я тебе расписывать в подробностях не буду так в трёх словах, если надо будет подробней пиши на мыло (zoltain@ukr.net);
2)допустим создавать Tshape (твой круг) в том месте где он нужет


Ник   (2003-08-20 21:29:00) [2]

Да все понятно, весь вопрос только в том, что
1) Сильно ли будет глючить картинка bmp размером в 40 Mb на не очень мощном компе
2) Если нарисовать на изображении TBitmap например круг, то можно ли безболезненно стереть этот круг так чтобы исходное изображение осталось


Zoltain   (2003-08-20 21:07:00) [3]

Если я понял так как надо тогда держи

if Image1.Picture.Graphic is Tbitmap then
//тут пишешь что надо делать


Ник   (2003-08-20 20:28:00) [4]

> BOA_KAA

>Вот такая любопытная вещь получается, первый раз с этим >сталкиваюсь.
>Если на TImage отрисовывать JPEG так
>Image.Picture.Assign(SomeJpeg),
>то рисунок получается качественный, а если так
>Image.Picture.Bitmap.Assign(SomeJpeg),
>то картинка получается касявая, теряется качество, по краям >какие-то ступеньки и пр.

>Как это победить, ведь мне надо чтобы Image содержал именно >Bitmap?

Ну а мне советуете так делать. И при первом способе рисовать на TIMAGE не получится


Ник   (2003-08-20 20:25:00) [5]

Делается все просто:
Image.Picture.LoadFromFile(OpenDialog.FileName) и загружается картинка JPEG.
Картинка - это карта города (>4 Mb), и дополнительно необходимо рисовать некоторый набор точек (маршрут движения) и уметь очищать этот маршрут (т.е. рисовать "слоями").
В формате bmp картинка весит >40 Mb


BOA_KAA   (2003-08-20 13:58:00) [6]

> Что значит рисовать поверх image? Если ты сумел увидеть картинку
> на экране значит она уже в формате Bitmap. Представляй себе JPeg
> как картинку сжатую каким - нибудь архиватором. Для того, что бы
> её вывести на экран, её надо разжать...

Не совсем так.

Просто нужно делать так Image.Picture.Bitmap.Assign(JPEG);


BOA_KAA   (2003-08-20 13:58:00) [7]

> Что значит рисовать поверх image? Если ты сумел увидеть картинку
> на экране значит она уже в формате Bitmap. Представляй себе JPeg
> как картинку сжатую каким - нибудь архиватором. Для того, что бы
> её вывести на экран, её надо разжать...

Не совсем так.

Просто нужно делать так Image.Picture.Bitmap.Assign(JPEG);


[lamer]Barmaglot   (2003-08-20 13:30:00) [8]

Что значит рисовать поверх image? Если ты сумел увидеть картинку на экране значит она уже в формате Bitmap. Представляй себе JPeg как картинку сжатую каким - нибудь архиватором. Для того, что бы её вывести на экран, её надо разжать...

В чем проблема-то?


[lamer]Barmaglot   (2003-08-20 13:30:00) [9]

Что значит рисовать поверх image? Если ты сумел увидеть картинку на экране значит она уже в формате Bitmap. Представляй себе JPeg как картинку сжатую каким - нибудь архиватором. Для того, что бы её вывести на экран, её надо разжать...

В чем проблема-то?


Наверх

Титульная страница Поиск, карта сайта Написать письмо