Форум: "Media";
Текущий архив: 2002.06.17;
Скачать: [xml.tar.bz2];
ВнизВопрос: Может кто-нить знает как определить размеры графических файлов формата(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 вся ветка
Форум: "Media";
Текущий архив: 2002.06.17;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c