Shiningemerald
384 / 117 / 22
Регистрация: 05.01.2012
Сообщений: 951
1

Загрузка Изображений В Image

16.02.2012, 16:23. Показов 1555. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет, друзьяЕсть такая проблема: идет сохранение изображения , созданого в графическом редакторе, созданым мной (с TImage). Проблема такова: Загрузить его снова в TImage не получается(но получается загружать фотографии)
Помогите решить проблему
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.02.2012, 16:23
Ответы с готовыми решениями:

Как сделать маркер на большом изображений Image?
В общем ситуация такая. Есть у меня Image1, который представляет из себя карту моего города. Также...

Загрузка изображений из компьютера
имеется компонент Timage,цель создать такой компонент,в котором мы можем лазить по всем папкам...

Загрузка и обработка изображений во множестве потоков
Привет всем. Пишу распознавание капчи. Картинки в формате .jpeg. Сначала загружаю картинку в...

Хранение изображений и загрузка изображений
Привет, не когда не работал с изображениями когда их много, и тут возникла такая не обходимость,...

8
61 / 44 / 6
Регистрация: 15.01.2012
Сообщений: 167
16.02.2012, 17:48 2
Побольше бы информации. В каком формате сохранено изображение? И код сохранения тоже бы очень облегчил размышления
0
Shiningemerald
384 / 117 / 22
Регистрация: 05.01.2012
Сообщений: 951
23.02.2012, 11:46  [ТС] 3
Вот загрузка и сохранение, почему-то не все загружаются(те который нарисованы в моем редакторе сохраняются, но не грузятся)
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
procedure TForm1.SpeedButton6Click(Sender: TObject);
begin
OpenDialog1.Filter:='JPG files only|*.JPG';
if OpenDialog1.Execute then
Edit1.Text:=OpenDialog1.FileName;
Image1.Picture.LoadFromFile(Edit1.Text);
end;
 
procedure TForm1.SpeedButton7Click(Sender: TObject);
begin
SaveDialog1.Filter:='JPG files only|*.JPG';
if SaveDialog1.Execute then
Edit2.Text:=SaveDialog1.FileName;
Image1.Picture.SaveToFile(Edit2.Text);
end;
0
Shiningemerald
384 / 117 / 22
Регистрация: 05.01.2012
Сообщений: 951
23.02.2012, 12:19  [ТС] 4
Если нарисовать в редакторе изображение и сохранить его(в jpg), а затем загрузить снова в редактор, то вылезает ошибка
Миниатюры
Загрузка Изображений В Image  
0
Shiningemerald
384 / 117 / 22
Регистрация: 05.01.2012
Сообщений: 951
23.02.2012, 12:20  [ТС] 5
Есть еще одна особенность: когда я сохраняю изображение, то имя и расширение пишу сама, хоть и стоит фильтр... может дело в том что как-то программно можно ограничить расширение? Не знаю как сделать
0
Житель Земли
3002 / 3004 / 391
Регистрация: 26.07.2011
Сообщений: 11,463
Записей в блоге: 1
23.02.2012, 13:55 6
у TImage есть свойство Picture: TPicture, являющееся контейнером для типов TBitmap, TIcon, TMetafile.
когда ты рисуешь на TImage.Canvas, происходит обращение к TImage.Picture.Bitmap.Canvas. что происходит при Image.Picture.SaveToFile(), я не разбирался, поэтому здесь не посоветую.
Думаю, нужно конвертировать битмар в JPEG.

теперь по поводу расширения. сам фильтр расширение не меняет, он только фильтрует отображаемые типы в окне выбора. у диалога есть свойство DefaultExt. если его задать, диалог автоматически добавит его к имени файла.

Добавлено через 2 минуты
Цитата Сообщение от Electroflower Посмотреть сообщение
Если нарисовать в редакторе изображение и сохранить его(в jpg), а затем загрузить снова в редактор, то вылезает ошибка
а как ты рисуешь? на чем? можно код? )
1
4164 / 1816 / 216
Регистрация: 06.10.2010
Сообщений: 4,069
24.02.2012, 20:53 7
Image.Picture.SaveToFile() ведь в bmp сохраняет. Для jpg видимо TJpegImage.SaveToFile.
1
Житель Земли
3002 / 3004 / 391
Регистрация: 26.07.2011
Сообщений: 11,463
Записей в блоге: 1
27.02.2012, 10:41 8
вот на всякий случай две функции конвертирования

Delphi
1
2
3
4
5
6
7
8
procedure BmpToJpeg(const BmpSrc: TBitmap; var aJpeg: TJPEGImage;
                    CompressRatio: byte = 100; GrayScale: boolean = false);
begin
  aJpeg.Grayscale:= GrayScale;              {оттенки серого}
  aJpeg.CompressionQuality:= CompressRatio; {уровень сжатия: значения от 1 до 100}
  aJpeg.Assign(BmpSrc);
  aJpeg.Compress;
end;
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function JpegToBmp(JpegSrc: string): TBitmap;
var
  jpg: TJPEGImage;
begin
  jpg:= TJPEGImage.Create;
  jpg.LoadFromFile(JpegSrc);
  jpg.DIBNeeded;
  Result:= TBitmap.Create;
  with Result do
  begin
    Palette:= jpg.Palette;
    Width :=jpg.Width;
    Height :=jpg.Height;
    Canvas.Draw(0,0,jpg);
  end;
  jpg.Free;
end;
1
Shiningemerald
384 / 117 / 22
Регистрация: 05.01.2012
Сообщений: 951
29.02.2012, 18:18  [ТС] 9
спасибо всем
0
29.02.2012, 18:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.02.2012, 18:18
Помогаю со студенческими работами здесь

Перетаскивание изображений со StringGrid-а на Image
На практике сказали, Разработать программу расстановки мебели в помещении. поставил StringGrid...

Реконструкция изображений в Image Processing Toolbox
Выполняю лабораторную по этому курсу http://matlab.exponenta.ru/imageprocess/book5/11_0.php В...

Изменение параметров изображений Matlab/ image resize
Друзья подскажите! Имею базу данных изображений (кол-во изображений может варьироваться)...

Анимация Image.Source: плавная смена изображений
Всем привет! Подскажите пожалуйста, есть ли анимация, которая будет плавно менять один...


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

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

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