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

Вниз

Вопрос: Может кто-нить знает как определить размеры графических файлов формата(jpg, gif и pjpg)   Найти похожие ветки 

 
Sergy   (2002-01-28 17:07) [0]

Может кто-нить знает как определить размеры (например 356х456 точек)
графических файлов формата(jpg, gif и pjpg). В инете и на этом сайте нашел несколько статей с примерами, но в них нельзя определить некоторые типы jpg.

Сергей.


 
Lord BDV   (2002-01-28 20:49) [1]

Приветствую, Sergy.
Сразу оговорюсь, прямого метода я не знаю, но зато оригинальный трюк предложить могу.

Создайте на форме невидимый Image, чье свойство AutoSize (точно не помню) надо установить в True. Теперь, воспользуйтесь методом LoadFromFile этого компонента и укажите путь к интересующему Вас графическому файлу. После сиего величину рисунка Вы найдете в свойствах Width и Heith этого компонента. Либо же загляните в свойства Picture.heith и Picture.width.

Если возникнут вопросы, пишите.


 
Lord BDV   (2002-01-28 20:53) [2]

Приветствую, Sergy.
Сразу оговорюсь, прямого метода я не знаю, но зато оригинальный трюк предложить могу.

Создайте на форме невидимый Image, чье свойство AutoSize (точно не помню) надо установить в True. Теперь, воспользуйтесь методом LoadFromFile этого компонента и укажите путь к интересующему Вас графическому файлу. После сиего величину рисунка Вы найдете в свойствах Width и Heith этого компонента. Либо же загляните в свойства Picture.heith и Picture.width.

Чтобы Ваша программа могла понимать такие экзотические форматы как Jpeg, включите имена соответствующих модулей в список uses.

Если возникнут вопросы, пишите.


 
Sergy   (2002-01-29 09:59) [3]

Вся фигня в том, что я не использую форму в данной разработке, а только dll, вот из нее мне и надо определить размеры.
Может кто видел статьи?


 
DK ©   (2002-01-29 19:41) [4]

http://halyava.ru/document/

Ищешь все нужные форматы, пишешь функции для выдерания инфы из заголовка, и вуаля.


 
Landgraph   (2002-01-30 14:00) [5]

Ну не знаю... У меня, например, вот так вот получалось выдавливать из BMPшного файла:

var bmp:TBitmap;
begin
bmp:=TBtimap.Create;
bmp.LoadFromFile("FileName");
showmessage(inttostr(bmp.Width));
showmessage(inttostr(bmp.Height));
bmp.free;

По идее должно вывести две месаги... Выведет - не выведет, не знаю... Писал код от балды :)
У ЖПЕГа тоже не знаю, есть ли хейги - видтхы. Но всегда можно из одного формата в другой перегнать :).


 
MBo ©   (2002-02-02 10:57) [6]

http://www.delphifreestuff.com/examples/imgsize.html


 
Landgraph   (2002-02-02 19:34) [7]


uses JPEG;
var Image:TJPEGImage;
begin
Image:=TJPEGImage.Create;//Создаем...
Image.LoadFromFile(FileName);//Загружаем файл
Image.Width;//Ширина...
Image.Height;//...и высота(помому так) :)
Image.Free;//Освобождаем память

У меня - выдавало... Как ни странно :)


 
Donal_Graeme   (2002-02-03 20:56) [8]

это для Гифов

TGIFStruct = record
Width : Word;
Height : Word;
Colors : Byte;
BPS : Byte;
end;

function Pow2 (N : Integer) : LongInt;
begin
Result := Round (exp (N*ln (2)));
end;

procedure GetGIFInfo (FileName : String;var Info : TGIFStruct);
var Ver : String;
MS : TMemoryStream;
W, H : Word;
Temp : Byte;
Colors : Integer;
BPS : Integer;
begin
Ver := UpperCase (GetGIFVersion (Filename));
If Ver <> "87A" then Exit; // возможно, эта строка лишняя :-)
MS := TMemoryStream.Create;
With MS do
begin
LoadFromFile (Filename);
Position := 6;
Read (W, 2);
Read (H, 2);
Read (Temp, 1);
Colors := Pow2 ((Temp and $70) shr 4 +1);
BPS := Pow2 ((Temp and $07) +1);
Free;
end;
Info.Width := W;
Info.Height := H;
Info.Colors := Colors;
Info.BPS := BPS; // я уже не помню, что это такое :-)
end;


 
Pete ©   (2002-02-04 11:08) [9]

uses Jpeg, graphics;

bmp:Graphics.TBitmap;
jpg:TJpeg...;(TJpegImage);//что то такое

.
.
.

bmp:=........Create;
jpg:=........Create;

jpg.loadfromfile("...");

bmp.canvas.Draw(0,0,jpg);

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



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

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

Наверх




Память: 0.49 MB
Время: 0.013 c
4-55376
Adolph
2002-04-11 22:42
2002.06.17
Убить процесс в W98


3-54985
VikOs
2002-05-22 19:14
2002.06.17
SQL


3-55018
Cooper
2002-05-23 16:30
2002.06.17
Как запихнуть DateTimePicker в DBGrid?


14-55295
Ketmar
2002-05-04 08:14
2002.06.17
хм... старею, что ли?..


14-55309
Malder
2002-05-14 19:28
2002.06.17
RFC 1459 по русски