Files
kolibrios/programs/develop/libraries/exif/about.htm
T
ace-dent e05b57a95e develop/libraries: Post-SVN tidy (#436)
- Move source code from `trunk` into root directory for each library.
- Update build files and ASM include paths. Add SPDX license header where appropriate.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.

(Work towards #75, point 3)

Reviewed-on: KolibriOS/kolibrios#436
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: Ivan B <1+dunkaist@noreply.localhost>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: Andrew <dent.ace@gmail.com>
Co-committed-by: Andrew <dent.ace@gmail.com>
2026-04-25 09:20:05 +00:00

160 lines
6.2 KiB
HTML

<html>
<head>
<title>сшсышюЄхър фы  яюыєўхэш  шэЇюЁьрЎшш шч ЇюЁьрЄр Exif</title>
<meta http-equiv="content-type" content="text/html; charset=WINDOWS-1251">
<style>
body
{
font-size: 15px;
font-family: "Bookman Old Style";
color: black;
text-align: justify;
}
h1 { color: green; font-size: 23px; }
h2 { color: green; font-size: 21px; }
h3 { color: green; font-size: 19px; }
h4 { color: #803f00; font-size: 17px; }
i { color: #0099cc; }
b { color: #0099cc; }
p {
text-indent: 1em;
margin-top: 3px;
margin-bottom: 2px;
margin-left: 0px;
margin-right: 0px;
}
ol, ul, dl{
margin-top: 3px;
margin-bottom: 2px;
}
pre
{
padding: 2px;
padding-left: 20px;
margin-top: 5px;
margin-bottom: 5px;
margin-left: 0px;
margin-right: 0px;
font-family: "Courier New";
font-size: 15px;
color: #004000;
background-color: #ffd0ff;
}
table { font-size: 15px; }
</style>
</head>
<body>
<h1>╬уыртыхэшх</h1>
<ul>
<li>┬ёЄєяыхэшх</li>
<li><a href="#fun">╘єэъЎшш</a></li>
<ul>
<li><a href="#f_1">exif_get_app1</a></li>
<li><a href="#f_2">exif_get_tag</a></li>
<li><a href="#f_5">exif_get_tag_id</a></li>
<li><a href="#f_3">exif_get_child</a></li>
<li><a href="#f_4">exif_get_app2</a></li>
</ul>
</li>
<li><a href="#const">╩юэёЄрэЄ√ фы  ЇєэъЎшш exif_get_child</a></li>
<li><a href="#tabl_e">╥рсышЎр ¤ъёяюЁЄр</a></li>
<li><a href="#hist">╚ёЄюЁш </a></li>
</ul>
<h1>┬ёЄєяыхэшх</h1>
<p>─юъєьхэЄрЎш  ъ ётюсюфэющ сшсышюЄхъх <b>exif.obj</b>, фы  <b>╬╤ ╩юышсЁш</b>.
▌Єр сшсышюЄхър ёючфрэр фы  яЁюёьюЄЁр шэЇюЁьрЎшш эрїюф ∙хщё  т шчюсЁрцхэш ї т ЇюЁьрЄх Exif. ╚эЇюЁьрЎш  ¤Єр ёючфрхЄё  ЎшЇЁют√ьш ЇюЄюърьхЁрьш ш ёюфхЁцшЄ Ёрчэ√х ярЁрьхЄЁ√ эряЁшьхЁ Єръшх ъръ: эрчтрэшх ЇшЁь√ яЁюшчтюфшЄхы , ьюфхы№ ърьхЁ√, ш Є.ф.</p>
<p>╧юёыхфэхх юсэютыхэшх сшсышюЄхъш 23.07.14.</p>
<h1><a name="fun">╘єэъЎшш</a></h1>
<p>╘єэъЎшш ЁрсюЄр■Є ё єърчрЄхы ьш эр ёЄЁєъЄєЁ√ app1 шыш эр app1_child. ╧ЁшьхЁ ёЄЁєъЄєЁ√:</p>
<pre>align 4
h_app1:
dd 0 ;+0 єърчрЄхы№ эр ъюышўхёЄтю Єхуют ш эр ёрьш Єхуш
dd 0 ;+4 ёьх∙хэшх фюсрты хьюх ъ єърчрЄхы ь т Єхурї
dw 0 ;+8 ярЁрьхЄЁ, юЄтхўр■∙шщ чр яюЁ фюъ ёыхфютрэш  срщЄют</pre>
dw 0 ;+10 шфхэЄшЇшърЄюЁ фы  уЁєяя√ Єхуют</pre>
<h4><a name="f_1">exif_get_app1</a></h4>
<p>▌Єр ЇєэъЎш  ш∙хЄ эрўрыю Exif фрээ√ї. ┼ёыш юэш эрщфхэ√ Єю чряюыэ хЄё  ёЄЁєъЄєЁр app1. ┼ёыш эх эрщфхэ√, Єю яхЁт√щ ярЁрьхЄЁ т ёЄЁєъЄєЁх фхырхЄё  Ёртэ√ь 0. ╧ЁшьхЁ:</p>
<pre>stdcall [exif_get_app1], [open_file],h_app1
...
h_app1 rb 14</pre>
<p>уфх open_file - єърчрЄхы№ эр фрээ√х Їрщыр шчюсЁрцхэш  (яюър яюффхЁцштр■Єё  Єюы№ъю *.jpg ш *.jpeg).</p>
<p>h_app1 - ёЄЁєъЄєЁр фы  чряюьшэрэш  эрўрыр Exif фрээ√ї.</p>
<h4><a name="f_2">exif_get_tag</a></h4>
<p>╟ряюыэ хЄ ЄхъёЄютє■ ёЄЁюъє шьхэхь ярЁрьхЄЁр шч Exif ш хую чэрўхэшхь. ╧ЁшьхЁ:</p>
<pre>stdcall [exif_get_tag], h_app1,3,txt_buf,80
...
h_app1 rb 14
txt_buf rb 80</pre>
<p>уфх h_app1 - ёЄЁєъЄєЁр чряюыхээр  т exif_get_app1 шыш т exif_get_child.</p>
<p>3 - яюЁ фъют√щ эюьхЁ ярЁрьхЄЁр.</p>
<p>txt_buf - ЄхъёЄют√щ сєЇхЁ фы  чряюыэхэш .</p>
<p>80 - ьръёшьры№эр  фышэр ЄхъёЄр.</p>
<h4><a name="f_5">exif_get_tag_id</a></h4>
<p>╟ряюыэ хЄ ЄхъёЄютє■ ёЄЁюъє шьхэхь ярЁрьхЄЁр шч Exif ш хую чэрўхэшхь. ╧ЁшьхЁ:</p>
<pre>stdcall [exif_get_tag_id], h_app1,0x010f,txt_buf,80
...
h_app1 rb 14
txt_buf rb 80</pre>
<p>уфх h_app1 - ёЄЁєъЄєЁр чряюыхээр  т exif_get_app1 шыш т exif_get_child.</p>
<p>0x010f - ъюф Єхур т ъюЄюЁюь ёюфхЁцшЄё  эрчтрэшх яЁюшчтюфшЄхы  ърьхЁ√.</p>
<p>txt_buf - ЄхъёЄют√щ сєЇхЁ фы  чряюыэхэш .</p>
<p>80 - ьръёшьры№эр  фышэр ЄхъёЄр.</p>
<h4><a name="f_3">exif_get_child</a></h4>
<p>┼ёЄ№ яЁюёЄ√х Єхуш ё шэЇюЁьрЎшхщ р хёЄ№ Єхуш єърч√тр■∙шх эр ёяшёъш фЁєушї Єхуют. ▌Єр ЇєэъЎш  схЁхЄ єърчрЄхы№ эр эрўрыю ёяшёър фюўхЁэшї Єхуют. ╧ЁшьхЁ:</p>
<pre>stdcall [exif_get_child], h_app1,h_child,0x8769
...
h_app1 rb 14
h_child rb 14</pre>
<p>уфх h_app1 - ёЄЁєъЄєЁр чряюыхээр  т exif_get_app1 шыш т exif_get_child.</p>
<p>h_child - ёЄЁєъЄєЁр фы  чряюыхэш  фрээ√ї ёяшёър фюўхЁэшї Єхуют.</p>
<p>0x8769 - ъюф Єхур (эрїюф ∙хуюё  т ёяшёъх Єхуют h_app1), ъюЄюЁ√щ  ты хЄё  єърчрЄхыхь эр ёяшёюъ фЁєушї фюўхЁэшї Єхуют.</p>
<p>┬ фрэюь яЁшьхЁх ЇєэъЎш  схЁхЄ Єху 0x8769 ш я√ЄрхЄё  эрщЄш хую т ёяшёъх h_app1, хёыш эрїюфшЄ Єю чряюыэ хЄ яю эхьє чэрўхэш  т ёЄЁєъЄєЁх h_child. ─рыхх ъ ёяшёъє h_child ьюцэю яЁшьхэ Є№ ЇєэъЎш■ exif_get_tag фы  тч Єш  чэрўхэш  ¤Єшї Єхуют. ╤ яюью∙№■ ¤Єющ ЇєэъЎшш ь√ ъръ с√ яхЁхїюфшь тэєЄЁ№ эхъющ &quot;яряъш&quot; ё Єхурьш, ъюЄюЁ√х ёЁрчє фюёЄрЄ№ эх ьюцхь.</p>
<h4><a name="f_4">exif_get_app2</a></h4>
<p>▌Єр ЇєэъЎш  ш∙хЄ эрўрыю фрээ√ї Exif.app2. ┼ёыш юэш эрщфхэ√ Єю чряюыэ хЄё  ёЄЁєъЄєЁр app2. ┼ёыш эх эрщфхэ√, Єю яхЁт√щ ярЁрьхЄЁ т ёЄЁєъЄєЁх фхырхЄё  Ёртэ√ь 0. ╧ЁшьхЁ:</p>
<pre>stdcall [exif_get_app2], h_app1,h_app2
...
h_app1 rb 14
h_app2 rb 14</pre>
<p>уфх h_app1 - ёЄЁєъЄєЁр c фрээ√ьш Exif.app1, яЁхфтрЁшЄхы№эю чряюыэхээр  ЇєэъЎшхщ exif_get_app1.</p>
<p>h_app2 - ёЄЁєъЄєЁр фы  чряюьшэрэш  эрўрыр фрээ√ї Exif.app2.</p>
<h1><a name="const">╩юэёЄрэЄ√ фы  ЇєэъЎшш exif_get_child</a></h1>
<p>╟фхё№ яЁштхфхэ√ эхъюЄюЁ√х ъюэёЄрэЄ√, ъюЄюЁ√х ьюуєЄ шёяюы№чютрЄё  ъръ 3-щ ярЁрьхЄЁ фы  ЇєэъЎшш exif_get_child. ▌Єш ъюэёЄрэЄ√ юсючэрўр■Є ёяхЎшры№э√х Єхуш, ъюЄюЁ√х ёюфхЁцрЄ ёьх∙хэшх эр фюўхЁэшх ярЁрьхЄЁ√, ъюЄюЁ√х эрїюф Єё  т Exif.</p>
<h4>0x8769</h4>
<p>╬сючэрўрхЄ фюяюыэшЄхы№э√х ярЁрьхЄЁ√ Exif.</p>
<h4>0x8825</h4>
<p>╬сючэрўрхЄ ярЁрьхЄЁ√ GPS.</p>
<h1><a name="tabl_e">╥рсышЎр ¤ъёяюЁЄр</a></h1>
<p>╧ЁшьхЁ ЄрсышЎ√ ¤ъёяюЁЄр, ЁрёўшЄрээющ эр шёяюы№чютрэшх ьръЁюёр <b>@use_library</b>:</p>
<pre>align 4
import_exif:
exif_get_app1 dd sz_exif_get_app1
exif_get_app2 dd sz_exif_get_app2
exif_get_tag dd sz_exif_get_tag
exif_get_tag_id dd sz_exif_get_tag_id
exif_get_child dd sz_exif_get_child
dd 0,0
sz_exif_get_app1 db 'exif_get_app1',0
sz_exif_get_app2 db 'exif_get_app2',0
sz_exif_get_tag db 'exif_get_tag',0
sz_exif_get_tag_id db 'exif_get_tag_id',0
sz_exif_get_child db 'exif_get_child',0</pre>
<h1><a name="hist">╚ёЄюЁш </a></h1>
<p>15.07.14 - яхЁтр  тхЁёш  сшсышюЄхъш, яЁшьхЁ шёяюы№чютрэш .</p>
<p>23.07.14 - фюсртыхэр ЇєэъЎш  exif_get_app2.</p>
<p>11.03.16 - фюсртыхэр ЇєэъЎш  exif_get_tag_id, шчьхэхэ√ эрчтрэш  эхъюЄюЁ√ї ЇєэъЎшщ (єсЁрэю app1 яюЄюьє ўЄю юэш ьюуєЄ ЁрсюЄрЄ№ эх Єюы№ъю ё app1).</p>
</body>
</html>