Subversion Repositories Kolibri OS

Rev

Rev 5009 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. <html>
  2. <head>
  3. <title>áèáëèîòåêà äëÿ ïîëó÷åíèÿ èíôîðìàöèè èç ôîðìàòà Exif</title>
  4. <meta http-equiv="content-type" content="text/html; charset=WINDOWS-1251">
  5. <style>
  6. body
  7. {
  8.   font-size: 15px;
  9.   font-family: "Bookman Old Style";
  10.   color: black;
  11.   text-align: justify;
  12. }
  13. h1 { color: green; font-size: 23px; }
  14. h2 { color: green; font-size: 21px; }
  15. h3 { color: green; font-size: 19px; }
  16. h4 { color: #803f00; font-size: 17px; }
  17. i { color: #0099cc; }
  18. b { color: #0099cc; }
  19. p {
  20.   text-indent: 1em;
  21.   margin-top: 3px;
  22.   margin-bottom: 2px;
  23.   margin-left: 0px;
  24.   margin-right: 0px;
  25. }
  26. ol, ul, dl{
  27.   margin-top: 3px;
  28.   margin-bottom: 2px;
  29. }
  30. pre
  31. {
  32.   padding: 2px;
  33.   padding-left: 20px;
  34.   margin-top: 5px;
  35.   margin-bottom: 5px;
  36.   margin-left: 0px;
  37.   margin-right: 0px;
  38.   font-family: "Courier New";
  39.   font-size: 15px;
  40.   color: #004000;
  41.   background-color: #ffd0ff;
  42. }
  43. table { font-size: 15px; }
  44. </style>
  45. </head>
  46.  
  47. <body>
  48.  
  49. <h1>Îãëàâëåíèå</h1>
  50. <ul>
  51. <li>Âñòóïëåíèå</li>
  52. <li><a href="#fun">Ôóíêöèè</a></li>
  53. <ul>
  54. <li><a href="#f_1">exif_get_app1</a></li>
  55. <li><a href="#f_2">exif_get_app1_tag</a></li>
  56. <li><a href="#f_3">exif_get_app1_child</a></li>
  57. <li><a href="#f_4">exif_get_app2</a></li>
  58. </ul>
  59. </li>
  60. <li><a href="#const">Êîíñòàíòû äëÿ ôóíêöèè exif_get_app1_child</a></li>
  61. <li><a href="#tabl_e">Òàáëèöà ýêñïîðòà</a></li>
  62. <li><a href="#hist">Èñòîðèÿ</a></li>
  63. </ul>
  64.  
  65. <h1>Âñòóïëåíèå</h1>
  66. <p>Äîêóìåíòàöèÿ ê ñâîáîäíîé áèáëèîòåêå <b>exif.obj</b>, äëÿ <b>ÎÑ Êîëèáðè</b>.
  67.  Ýòà áèáëèîòåêà ñîçäàíà äëÿ ïðîñìîòðà èíôîðìàöèè íàõîäÿùåéñÿ â èçîáðàæåíèÿõ â ôîðìàòå Exif. Èíôîðìàöèÿ ýòà ñîçäàåòñÿ öèôðîâûìè ôîòîêàìåðàìè è ñîäåðæèò ðàçíûå ïàðàìåòðû íàïðèìåð òàêèå êàê: íàçâàíèå ôèðìû ïðîèçâîäèòåëÿ, ìîäåëü êàìåðû, è ò.ä.</p>
  68.  
  69. <p>Ïîñëåäíåå îáíîâëåíèå áèáëèîòåêè 23.07.14.</p>
  70.  
  71. <h1><a name="fun">Ôóíêöèè</a></h1>
  72.  
  73. <p>Ôóíêöèè ðàáîòàþò ñ óêàçàòåëÿìè íà ñòðóêòóðû app1 èëè íà app1_child. Ïðèìåð ñòðóêòóðû:</p>
  74. <pre>align 4
  75. h_app1:
  76.         dd 0 ;+0 óêàçàòåëü íà êîëè÷åñòâî òåãîâ è íà ñàìè òåãè
  77.         dd 0 ;+4 ñìåùåíèå äîáàâëÿåìîå ê óêàçàòåëÿì â òåãàõ
  78.         dw 0 ;+8 ïàðàìåòð, îòâå÷àþùèé çà ïîðÿäîê ñëåäîâàíèÿ áàéòîâ</pre>
  79.         dw 0 ;+10 èäåíòèôèêàòîð äëÿ ãðóïïû òåãîâ</pre>
  80.  
  81. <h4><a name="f_1">exif_get_app1</a></h4>
  82. <p>Ýòà ôóíêöèÿ èùåò íà÷àëî Exif äàííûõ. Åñëè îíè íàéäåíû òî çàïîëíÿåòñÿ ñòðóêòóðà app1. Åñëè íå íàéäåíû, òî ïåðâûé ïàðàìåòð â ñòðóêòóðå äåëàåòñÿ ðàâíûì 0. Ïðèìåð:</p>
  83. <pre>stdcall [exif_get_app1], [open_file],h_app1
  84. ...
  85. h_app1 rb 14</pre>
  86. <p>ãäå open_file - óêàçàòåëü íà äàííûå ôàéëà èçîáðàæåíèÿ (ïîêà ïîääåðæèâàþòñÿ òîëüêî *.jpg è *.jpeg).</p>
  87. <p>h_app1 - ñòðóêòóðà äëÿ çàïîìèíàíèÿ íà÷àëà Exif äàííûõ.</p>
  88.  
  89. <h4><a name="f_2">exif_get_app1_tag</a></h4>
  90. <p>Çàïîëíÿåò òåêñòîâóþ ñòðîêó èìåíåì ïàðàìåòðà èç Exif è åãî çíà÷åíèåì. Ïðèìåð:</p>
  91. <pre>stdcall [exif_get_app1_tag], h_app1,3,txt_buf,80
  92. ...
  93. h_app1  rb 14
  94. txt_buf rb 80</pre>
  95. <p>ãäå h_app1 - ñòðóêòóðà çàïîëåííàÿ â exif_get_app1 èëè â exif_get_app1_child.</p>
  96. <p>3 - ïîðÿäêîâûé íîìåð ïàðàìåòðà.</p>
  97. <p>txt_buf - òåêñòîâûé áóôåð äëÿ çàïîëíåíèÿ.</p>
  98. <p>80 - ìàêñèìàëüíàÿ äëèíà òåêñòà.</p>
  99.  
  100. <h4><a name="f_3">exif_get_app1_child</a></h4>
  101. <p>Åñòü ïðîñòûå òåãè ñ èíôîðìàöèåé à åñòü òåãè óêàçûâàþùèå íà ñïèñêè äðóãèõ òåãîâ. Ýòà ôóíêöèÿ áåðåò óêàçàòåëü íà íà÷àëî ñïèñêà äî÷åðíèõ òåãîâ. Ïðèìåð:</p>
  102. <pre>stdcall [exif_get_app1_child], h_app1,h_child,0x8769
  103. ...
  104. h_app1  rb 14
  105. h_child rb 14</pre>
  106. <p>ãäå h_app1 - ñòðóêòóðà çàïîëåííàÿ â exif_get_app1 èëè â exif_get_app1_child.</p>
  107. <p>h_child - ñòðóêòóðà äëÿ çàïîëåíèÿ äàííûõ ñïèñêà äî÷åðíèõ òåãîâ.</p>
  108. <p>0x8769 - êîä òåãà (íàõîäÿùåãîñÿ â ñïèñêå òåãîâ h_app1), êîòîðûé ÿâëÿåòñÿ óêàçàòåëåì íà ñïèñîê äðóãèõ äî÷åðíèõ òåãîâ.</p>
  109. <p> äàíîì ïðèìåðå ôóíêöèÿ áåðåò òåã 0x8769 è ïûòàåòñÿ íàéòè åãî â ñïèñêå h_app1, åñëè íàõîäèò òî çàïîëíÿåò ïî íåìó çíà÷åíèÿ â ñòðóêòóðå h_child. Äàëåå ê ñïèñêó h_child ìîæíî ïðèìåíÿòü ôóíêöèþ exif_get_app1_tag äëÿ âçÿòèÿ çíà÷åíèÿ ýòèõ òåãîâ. Ñ ïîìîùüþ ýòîé ôóíêöèè ìû êàê áû ïåðåõîäèì âíóòðü íåêîé &quot;ïàïêè&quot; ñ òåãàìè, êîòîðûå ñðàçó äîñòàòü íå ìîæåì.</p>
  110.  
  111. <h4><a name="f_4">exif_get_app2</a></h4>
  112. <p>Ýòà ôóíêöèÿ èùåò íà÷àëî äàííûõ Exif.app2. Åñëè îíè íàéäåíû òî çàïîëíÿåòñÿ ñòðóêòóðà app2. Åñëè íå íàéäåíû, òî ïåðâûé ïàðàìåòð â ñòðóêòóðå äåëàåòñÿ ðàâíûì 0. Ïðèìåð:</p>
  113. <pre>stdcall [exif_get_app2], h_app1,h_app2
  114. ...
  115. h_app1 rb 14
  116. h_app2 rb 14</pre>
  117. <p>ãäå h_app1 - ñòðóêòóðà c äàííûìè Exif.app1, ïðåäâàðèòåëüíî çàïîëíåííàÿ ôóíêöèåé exif_get_app1.</p>
  118. <p>h_app2 - ñòðóêòóðà äëÿ çàïîìèíàíèÿ íà÷àëà äàííûõ Exif.app2.</p>
  119.  
  120. <h1><a name="const">Êîíñòàíòû äëÿ ôóíêöèè exif_get_app1_child</a></h1>
  121. <p>Çäåñü ïðèâåäåíû íåêîòîðûå êîíñòàíòû, êîòîðûå ìîãóò èñïîëüçîâàòñÿ êàê 3-é ïàðàìåòð äëÿ ôóíêöèè exif_get_app1_child. Ýòè êîíñòàíòû îáîçíà÷àþò ñïåöèàëüíûå òåãè, êîòîðûå ñîäåðæàò ñìåùåíèå íà äî÷åðíèå ïàðàìåòðû, êîòîðûå íàõîäÿòñÿ â Exif.</p>
  122. <h4>0x8769</h4>
  123. <p>Îáîçíà÷àåò äîïîëíèòåëüíûå ïàðàìåòðû Exif.</p>
  124. <h4>0x8825</h4>
  125. <p>Îáîçíà÷àåò ïàðàìåòðû GPS.</p>
  126.  
  127. <h1><a name="tabl_e">Òàáëèöà ýêñïîðòà</a></h1>
  128. <p>Ïðèìåð òàáëèöû ýêñïîðòà, ðàñ÷èòàííîé íà èñïîëüçîâàíèå ìàêðîñà <b>@use_library</b>:</p>
  129. <pre>align 4
  130. import_exif:
  131.         exif_get_app1 dd sz_exif_get_app1
  132.         exif_get_app1_tag dd sz_exif_get_app1_tag
  133.         exif_get_app1_child dd sz_exif_get_app1_child
  134.         exif_get_app2 dd sz_exif_get_app2
  135. dd 0,0
  136.         sz_exif_get_app1 db 'exif_get_app1',0
  137.         sz_exif_get_app1_tag db 'exif_get_app1_tag',0
  138.         sz_exif_get_app1_child db 'exif_get_app1_child',0
  139.         sz_exif_get_app2 db 'exif_get_app2',0</pre>
  140.  
  141. <h1><a name="hist">Èñòîðèÿ</a></h1>
  142. <p>15.07.14 - ïåðâàÿ âåðñèÿ áèáëèîòåêè, ïðèìåð èñïîëüçîâàíèÿ.</p>
  143. <p>23.07.14 - äîáàâëåíà ôóíêöèÿ exif_get_app2.</p>
  144. </body>
  145. </html>