Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
14-55293
phantom2040
2002-05-15 11:38
2002.06.17
Вопрос по Linux


3-54974
Vitamin
2002-05-22 14:25
2002.06.17
Как передать результат запроса в Exel?


1-55115
nitro
2002-06-06 11:51
2002.06.17
Вопрос про Прогрессбар


14-55260
Подонок
2002-05-13 14:28
2002.06.17
Можно ли узнать смотрят ли твой компьютер сейчас черз RemoteAdmin


4-55348
alexec
2002-03-21 07:59
2002.06.17
Сервисы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский