Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.12;
Скачать: CL | DM;

Вниз

Работа с Jpg и с DBImage   Найти похожие ветки 

 
dj0n ©   (2006-10-21 17:24) [0]

1.подскажите пожалуйста как можно при открытии файла Jpg в DBImage, посмотреть рассширение(размер по Х и по Y) фото, а потом и изменить его?!
может уже кто нибудь делал уже это, может выложите файл!

2.И еще одна беда почему у меня в таблище Парадокс в графическом поле не сохраняются фото с расширением jpg, а только в bmp?

Тут есть подобный пример но немогу с ним разобраться (((
http://www.delphirus.net.ru/modules.php?name=Pages&pa=showpage&pid=1218


 
Desdechado ©   (2006-10-21 19:25) [1]

> рассширение (размер по Х и по Y) фото
Расширением называется нечто совсем другое, с размерами и фотками не связанное. Размеры даже разрешением некорректно называть, хотя многие пытаются.

2. Поле типа GRAPHIC не предназнаячено для хранения чего-то еще, кроме BMP. Хочешь другое, храни в других типах BLOB.


 
dj0n ©   (2006-10-21 19:42) [2]

Большое спасибо за содержательный ответ, я все понял (((
А то что я ламер  я и так знаю, можно было это так и не подчеркивать!

Может найдется кто мне поможет. Проблемма осталась прежней


 
Ученик чародея ©   (2006-10-21 19:55) [3]


> dj0n ©   (21.10.06 19:42) [2]
>
> Большое спасибо за содержательный ответ, я все понял (((
> А то что я ламер  я и так знаю, можно было это так и не
> подчеркивать!
>
> Может найдется кто мне поможет. Проблемма осталась прежней


Вопрос делится на 2 вопроса -
1) как Bitmap преобразовать в jpeg и обратно.
2) как этот jpeg записать/считать в Blob поле.
3) что такое blob поле и чем оно отличается от image поля.

1.

uses ...jpeg...

var Jpeg:TJPEGImage;

Jpeg:=TJPEGImage.Create;
Jpeg.LoadFromFile(Filename);
...Bitmap.Assign(Jpeg);//вот здесь его присваиваем bitmap
Jpeg.Free;

2.
Var BlobStream:TStream;
BlobStream:=XQuery.CreateBlobStream(XQuery.FieldByName("MyFileld"),bmRead);
//работаетм с blobstream
BlobStream.Free;

В моем ответе куча ошибок, но суть ясна.


 
dj0n ©   (2006-10-22 19:22) [4]

Вот , я нашел выход из положения!
В чем может быть подвох, чем может быль плохое это решение?

procedure TForm1.Button4Click(Sender: TObject);

var

 bmp: TBItmap;
 jpg: TJpegImage;
 scale: Double;
begin
 if opendialog1.execute then
 begin
   jpg := TJpegImage.Create;
   try
     jpg.CompressionQuality := 10;
     jpg.Loadfromfile( opendialog1.filename );
     bmp := TBitmap.Create;
     if jpg.Height > jpg.Width then
       scale := 640 / jpg.Height
     else
       scale := 480 / jpg.Width;
     bmp:= Tbitmap.Create;
     try
       bmp.Width := Round( jpg.Width * scale );
       bmp.Height:= Round( jpg.Height * scale );
       bmp.Canvas.StretchDraw( bmp.Canvas.Cliprect, jpg );

       jpg.Assign( bmp );
       bmp.SaveToFile(ChangeFileext( opendialog1.filename, "_thumb.bmp" ));

     finally
       bmp.free;
     end;
   finally
     jpg.free;
   end;
 end;
end;



Страницы: 1 вся ветка

Текущий архив: 2006.11.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.036 c
2-1161510433
DiX
2006-10-22 13:47
2006.11.12
Обработка строки


2-1161950690
Despo
2006-10-27 16:04
2006.11.12
Использование "..."


9-1138616293
Yanis
2006-01-30 13:18
2006.11.12
Почему этот код вызывает ошибку


2-1161885095
Alral
2006-10-26 21:51
2006.11.12
Array [ 0..225] of Char, String


2-1161686802
Krants
2006-10-24 14:46
2006.11.12
Вызвать Hint