Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
ПОДДЪРЖАНЕ НА СТАНДАРТА SQL/MM STILL
IMAGE В ORACLE MULTIMEDIA
доц. д-р Цветанка Георгиева-Трифонова
ПОДДЪРЖАНЕ НА СТАНДАРТА SQL/MM STILL IMAGE –
СЪДЪРЖАНИЕ
 Типът SI_StillImage
 Типът SI_Color
 Типът SI_AverageColor
 Т...
ПОДДЪРЖАНЕ НА СТАНДАРТА SQL/MM STILL IMAGE
 Oracle Multimedia поддържа първото издание на стандарта
ISO/IEC 13249-5:2001 ...
ПОДДЪРЖАНЕ НА СТАНДАРТА SQL/MM STILL IMAGE (2)
 Следните възможности на типа ORDImage не са дефинирани
в стандарта SQL/MM...
ПОДДЪРЖАНЕ НА СТАНДАРТА SQL/MM STILL IMAGE (3)
 Показаните примери използват таблицата si_media:
CREATE TABLE pm.si_media...
ТИПЪТ SI_STILLIMAGE
 Типът SI_StillImage представя цифрови изображения с
характерните им свойства като височина, широчина...
ТИПЪТ SI_STILLIMAGE (2)
 Атрибути, дефинирани като разширения на Oracle:
mimeType_ora VARCHAR2(4000),
contentFormat_ora V...
ТИПЪТ SI_STILLIMAGE – АТРИБУТИ
 content_SI: обект от тип ORDSource, който съдържа
двоично изображение или BLOB;
 content...
ТИПЪТ SI_STILLIMAGE – АТРИБУТИ, ДЕФИНИРАНИ КАТО
РАЗШИРЕНИЯ НА ORACLE
 mimeType_ora: MIME типът на информацията;
 content...
ТИПЪТ SI_STILLIMAGE – АТРИБУТИ, ДЕФИНИРАНИ КАТО
РАЗШИРЕНИЯ НА ORACLE (2)
 retainFeatures_SI: булева стойност, която показ...
ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРИ
 Конструкторите на обект от тип SI_StillImage са:
 SI_StillImage(content)
 SI_StillI...
ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРИ (2)
 SI_StillImage(content) има следния формат:
SI_StillImage(content IN BLOB)
RETURN ...
ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ
SI_STILLIMAGE(CONTENT)
 Инициализиране на SI_StillImage атрибути:
 content_SI.localD...
ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ
SI_STILLIMAGE(CONTENT) (2)
 Има следните параметри:
 content – данните за изображени...
ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ
SI_STILLIMAGE(CONTENT) (3)
 Пример 1. Добавяне на BLOB в колона от тип StillImage
чре...
ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ
SI_STILLIMAGE(CONTENT) (4)
 Пример 2. Добавяне на BLOB в колона от тип StillImage
чре...
ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРИ (3)
 SI_StillImage(content, explicitFormat)
 Има следния формат:
SI_StillImage(conten...
ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ
SI_STILLIMAGE(CONTENT, EXPLICITFORMAT)
 Инициализиране на SI_StillImage атрибути:
 c...
ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ
SI_STILLIMAGE(CONTENT, EXPLICITFORMAT) (2)
 Задават се следните параметри:
 content ...
ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ
SI_STILLIMAGE(CONTENT, EXPLICITFORMAT) (3)
 Връща се грешка, ако параметърът explicit...
ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ
SI_STILLIMAGE(CONTENT, EXPLICITFORMAT) – ПРИМЕР
 Създаване на SI_StillImage обект от ...
ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ
SI_STILLIMAGE(CONTENT, EXPLICITFORMAT) – ПРИМЕР (2)
-- Създаване на нов SI_StillImage ...
ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ
SI_STILLIMAGE(CONTENT, EXPLICITFORMAT) – ПРИМЕР (3)
-- Добавяне на изображение в табли...
ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРИ (4)
 SI_StillImage(content, explicitFormat, height,
width)
 Има следния формат:
SI_St...
ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ
SI_STILLIMAGE(CONTENT, EXPLICITFORMAT, HEIGHT, WIDTH)
 Конструира SI_StillImage стойн...
ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ
SI_STILLIMAGE(CONTENT, EXPLICITFORMAT, HEIGHT, WIDTH) (2)
 Инициализира SI_StillImage...
ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ
SI_STILLIMAGE(CONTENT, EXPLICITFORMAT, HEIGHT, WIDTH) (3)
 Задават се следните параме...
ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ
SI_STILLIMAGE(CONTENT, EXPLICITFORMAT, HEIGHT, WIDTH) (4)
 Изключенията, които могат ...
ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ
SI_STILLIMAGE(CONTENT, EXPLICITFORMAT, HEIGHT, WIDTH) (5)
 Връща се грешка, ако стойн...
ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ
SI_STILLIMAGE(CONTENT, EXPLICITFORMAT, HEIGHT, WIDTH) –
ПРИМЕР
 Конструиране на SI_St...
ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ
SI_STILLIMAGE(CONTENT, EXPLICITFORMAT, HEIGHT, WIDTH) –
ПРИМЕР (2)
-- Създаване на нов...
SI_STILLIMAGE МЕТОДИ
 SI_ClearFeatures();
 SI_InitFeatures();
 SI_ChangeFormat();
 SI_Content();
 SI_ContentLength();...
ТИПЪТ SI_COLOR
 …
3333Цветанка Георгиева Моделиране на информационни системи
3434Цветанка Георгиева
Цветанка Георгиева-Трифонова, 2017
Някои права запазени.
Презентацията е достъпна под лиценз Creati...
Nächste SlideShare
Wird geladen in …5
×

Поддържане на стандарта SQL/MM Still Image в Oracle Multimedia

321 Aufrufe

Veröffentlicht am

Oracle Multimedia поддържа първото издание на стандарта ISO/IEC 13249-5:2001 SQL MM Part5:StillImage (по-кратко SQL/MM Still Image), който включва следните обектно-релационни типове за характеристики на изображения:
SI_StillImage
SI_AverageColor
SI_Color
SI_PositionalColor
SI_ColorHistogram
SI_Texture
SI_FeatureList

Veröffentlicht in: Daten & Analysen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Поддържане на стандарта SQL/MM Still Image в Oracle Multimedia

  1. 1. ПОДДЪРЖАНЕ НА СТАНДАРТА SQL/MM STILL IMAGE В ORACLE MULTIMEDIA доц. д-р Цветанка Георгиева-Трифонова
  2. 2. ПОДДЪРЖАНЕ НА СТАНДАРТА SQL/MM STILL IMAGE – СЪДЪРЖАНИЕ  Типът SI_StillImage  Типът SI_Color  Типът SI_AverageColor  Типът SI_PositionalColor  Типът SI_ColorHistogram  Типът SI_Texture  Типът SI_FeatureList 22Цветанка Георгиева Моделиране на информационни системи
  3. 3. ПОДДЪРЖАНЕ НА СТАНДАРТА SQL/MM STILL IMAGE  Oracle Multimedia поддържа първото издание на стандарта ISO/IEC 13249-5:2001 SQL MM Part5:StillImage (по-кратко SQL/MM Still Image), който включва следните обектно- релационни типове за характеристики на изображения:  SI_StillImage  SI_AverageColor  SI_Color  SI_PositionalColor  SI_ColorHistogram  SI_Texture  SI_FeatureList 33Цветанка Георгиева Моделиране на информационни системи
  4. 4. ПОДДЪРЖАНЕ НА СТАНДАРТА SQL/MM STILL IMAGE (2)  Следните възможности на типа ORDImage не са дефинирани в стандарта SQL/MM Still Image Standard, затова не са налични за обектите от тип SI_StillImage:  Съхраняване на данни за изображение извън базата от данни;  Операции за обработка на изображение (като скалиране, компресиране и др.);  API за Java клиентско приложение.  За всеки StillImage конструктор или метод съществува еквивалентна SQL функция или процедура. 44Цветанка Георгиева Моделиране на информационни системи
  5. 5. ПОДДЪРЖАНЕ НА СТАНДАРТА SQL/MM STILL IMAGE (3)  Показаните примери използват таблицата si_media: CREATE TABLE pm.si_media ( product_id NUMBER(6), product_photo SI_StillImage, average_color SI_AverageColor, color_histogram SI_ColorHistogram, feature_list SI_FeatureList, positional_color SI_PositionalColor, texture SI_Texture, CONSTRAINT id_pk PRIMARY KEY (product_id) );  Другата използвана таблица е imagetab: CREATE TABLE pm.imagetab ( id NUMBER, imgblob BLOB ); 55Цветанка Георгиева Моделиране на информационни системи
  6. 6. ТИПЪТ SI_STILLIMAGE  Типът SI_StillImage представя цифрови изображения с характерните им свойства като височина, широчина, формат и др.  Дефинирани са следните атрибути: content_SI ORDSYS.ORDSOURCE, contentLength_SI INTEGER, format_SI VARCHAR2(4000), height_SI INTEGER, width_SI INTEGER, 66Цветанка Георгиева Моделиране на информационни системи
  7. 7. ТИПЪТ SI_STILLIMAGE (2)  Атрибути, дефинирани като разширения на Oracle: mimeType_ora VARCHAR2(4000), contentFormat_ora VARCHAR2(4000), compressionFormat_ora VARCHAR2(4000),  Флаг: retainFeatures_SI INTEGER,  Атрибути, дефинирани като разширения на Oracle за характеристиките на кеш изображенията: averageColorSpec_ora SI_Color, colorsList_ora colorsList, frequenciesList_ora colorFrequenciesList, colorPositions_ora colorPositions, textureEncoding_ora textureEncoding, 77Цветанка Георгиева Моделиране на информационни системи
  8. 8. ТИПЪТ SI_STILLIMAGE – АТРИБУТИ  content_SI: обект от тип ORDSource, който съдържа двоично изображение или BLOB;  contentLength_SI: дължината на съдържанието на изображението в байтове;  format_SI: форматът на изображението;  height_SI: височината на изображението;  width_SI: широчината на изображението; 88Цветанка Георгиева Моделиране на информационни системи
  9. 9. ТИПЪТ SI_STILLIMAGE – АТРИБУТИ, ДЕФИНИРАНИ КАТО РАЗШИРЕНИЯ НА ORACLE  mimeType_ora: MIME типът на информацията;  contentFormat_ora: типът на изображението (монохромно, др.);  compressionFormat_ora: алгоритъмът за компресиране, използван за данните на изображението; 99Цветанка Георгиева Моделиране на информационни системи
  10. 10. ТИПЪТ SI_STILLIMAGE – АТРИБУТИ, ДЕФИНИРАНИ КАТО РАЗШИРЕНИЯ НА ORACLE (2)  retainFeatures_SI: булева стойност, която показва дали характеристиките на изображението предстои да бъдат извлечени и кеширани;  averageColorSpec_ora: кешираният SI_Color обект;  colorsList_ora: кешираният масив от цветове;  frequenciesList_ora: кешираният масив от честоти на цветове;  colorPositions_ora: кешираният масив от позиции на цветове;  textureEncoding_ora: кешираният масив от текстури. 1010Цветанка Георгиева Моделиране на информационни системи
  11. 11. ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРИ  Конструкторите на обект от тип SI_StillImage са:  SI_StillImage(content)  SI_StillImage(content, explicitFormat)  SI_StillImage(content, explicitFormat, height, width) 1111Цветанка Георгиева Моделиране на информационни системи
  12. 12. ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРИ (2)  SI_StillImage(content) има следния формат: SI_StillImage(content IN BLOB) RETURN SELF as RESULT DETERMINISTIC;  Форматът на еквивалентната SQL функция: SI_MkStillImage1(content in BLOB) RETURN SI_StillImage DETERMINISTIC;  Връща нов SI_StillImage обект. 1212Цветанка Георгиева Моделиране на информационни системи
  13. 13. ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ SI_STILLIMAGE(CONTENT)  Инициализиране на SI_StillImage атрибути:  content_SI.localData се инициализира с определено изображение;  contentLength_SI се инициализира с дължината на съдържанието на изображението, извлечена от определено изображение;  format_SI се инициализира с формата на изображението, извлечен от определено изображение;  height_SI се инициализира с височината на изображение, извлечена от определено изображение;  width_SI се инициализира с широчината на изображение, извлечена от определено изображение. 1313Цветанка Георгиева Моделиране на информационни системи
  14. 14. ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ SI_STILLIMAGE(CONTENT) (2)  Има следните параметри:  content – данните за изображението.  Изключенията, които могат да възникнат, са:  ORDImageSIExceptions.NULL_CONTENT – това изключение възниква, ако параметърът content е NULL. 1414Цветанка Георгиева Моделиране на информационни системи
  15. 15. ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ SI_STILLIMAGE(CONTENT) (3)  Пример 1. Добавяне на BLOB в колона от тип StillImage чрез използване на DBMS_LOB.LOADFROMFILE. DECLARE lobd BLOB; fils BFILE := BFILENAME('MEDIADIR', 'img1.jpg'); BEGIN DBMS_LOB.CREATETEMPORARY(lobd, TRUE); DBMS_LOB.FILEOPEN(fils, DBMS_LOB.FILE_READONLY); DBMS_LOB.LOADFROMFILE(lobd, fils, DBMS_LOB.GETLENGTH(fils)); DBMS_LOB.FILECLOSE(fils); INSERT INTO pm.si_media (product_id, product_photo) VALUES(1, new ORDSYS.SI_StillImage(lobd)); DBMS_LOB.FREETEMPORARY(lobd); COMMIT; END; 1515Цветанка Георгиева Моделиране на информационни системи
  16. 16. ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ SI_STILLIMAGE(CONTENT) (4)  Пример 2. Добавяне на BLOB в колона от тип StillImage чрез използване на DBMS_LOB.LOADFROMFILE. DECLARE lobd BLOB; fils BFILE := BFILENAME('MEDIADIR', 'img2.jpg'); BEGIN DBMS_LOB.CREATETEMPORARY(lobd, TRUE); DBMS_LOB.FILEOPEN(fils, DBMS_LOB.FILE_READONLY); DBMS_LOB.LOADFROMFILE(lobd, fils, DBMS_LOB.GETLENGTH(fils)); DBMS_LOB.FILECLOSE(fils); INSERT INTO pm.si_media (product_id, product_photo) VALUES (2, SI_MkStillImage1(lobd)); DBMS_LOB.FREETEMPORARY(lobd); COMMIT; END; 1616Цветанка Георгиева Моделиране на информационни системи
  17. 17. ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРИ (3)  SI_StillImage(content, explicitFormat)  Има следния формат: SI_StillImage(content IN BLOB, explicitFormat IN VARCHAR2) RETURN SELF as RESULT DETERMINISTIC;  Форматът на еквивалентната SQL функция: SI_MkStillImage2(content in BLOB, explicitFormat in VARCHAR2) RETURN SI_StillImage DETERMINISTIC;  Конструира обект от тип SI_StillImage от определено изображение и формат.  Позволява да се зададе форматът на изображението, когато даденото изображение е от неподдържан формат.  От изгледа SI_IMAGE_FORMATS в SI_INFORMTN_SCHEMA може да се получи списък с поддържаните формати. 1717Цветанка Георгиева Моделиране на информационни системи
  18. 18. ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ SI_STILLIMAGE(CONTENT, EXPLICITFORMAT)  Инициализиране на SI_StillImage атрибути:  content_SI.localData инициализира се с определено изображение;  contentLength_SI – с дължината на съдържанието на изображение, извлечена от определено изображение;  format_SI – с определен формат на изображение;  height_SI – с височината на определено изображение;  width_SI – с широчината на определено изображение; 1818Цветанка Георгиева Моделиране на информационни системи
  19. 19. ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ SI_STILLIMAGE(CONTENT, EXPLICITFORMAT) (2)  Задават се следните параметри:  content – данните на изображението;  explicitFormat – форматът, който трябва да се използва, ако определеното изображение е в неподдържан формат.  Изключенията, които могат да възникнат, са:  ORDImageSIExceptions.NULL_CONTENT – това изключение възниква, ако параметърът content е NULL. 1919Цветанка Георгиева Моделиране на информационни системи
  20. 20. ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ SI_STILLIMAGE(CONTENT, EXPLICITFORMAT) (3)  Връща се грешка, ако параметърът explicitFormat е NULL или ако е изпълнено някое от следните условия:  Параметърът explicitFormat има за стойност поддържан формат, но той не съвпада с извлечения формат от зададеното изображение;  Параметърът explicitFormat има за стойност неподдържан формат, но форматът, извлечен от зададеното изображение не е NULL. 2020Цветанка Георгиева Моделиране на информационни системи Параметърът explicitFormat Формат на изображението Грешка GIFF (поддържан формат) GIF Не GIFF (поддържан формат) JPEG Да xyz (неподдържан формат) GIF Да xyz (неподдържан формат) NULL Не JFIF (поддържан формат) JPG Не
  21. 21. ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ SI_STILLIMAGE(CONTENT, EXPLICITFORMAT) – ПРИМЕР  Създаване на SI_StillImage обект от дадено изображение и формат чрез използване на конструктора. SI_StillImage(content, explicitFormat) DECLARE lobd BLOB; fils BFILE := BFILENAME('MEDIADIR','img3.jpg'); newimage SI_StillImage; height NUMBER; width NUMBER; myimage SI_StillImage; BEGIN -- Поставяне на blob във временен LOB: DBMS_LOB.CREATETEMPORARY(lobd, TRUE); DBMS_LOB.FILEOPEN(fils, DBMS_LOB.FILE_READONLY); DBMS_LOB.LOADFROMFILE(lobd, fils, DBMS_LOB.GETLENGTH(fils)); DBMS_LOB.FILECLOSE(fils); 2121Цветанка Георгиева Моделиране на информационни системи
  22. 22. ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ SI_STILLIMAGE(CONTENT, EXPLICITFORMAT) – ПРИМЕР (2) -- Създаване на нов SI_StillImage обект за това изображение (то е в -- поддържан формат): newimage := NEW SI_StillImage(lobd, 'JFIF'); -- Ако съхраняваните стойности на височина и широчина са NULL, -- правилното им задаване се извършва по следния начин. height := 570; width := 1168; IF (newimage.SI_Height is NULL) THEN newimage.height_SI := height; END IF; IF (newimage.SI_Width is NULL) THEN newimage.width_SI := width; END IF; 2222Цветанка Георгиева Моделиране на информационни системи
  23. 23. ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ SI_STILLIMAGE(CONTENT, EXPLICITFORMAT) – ПРИМЕР (3) -- Добавяне на изображение в таблицата si_media, -- след което се освобождава временният LOB: INSERT INTO pm.si_media (product_id, product_photo) VALUES (3, newimage); DBMS_LOB.FREETEMPORARY(lobd); -- Извличане на съхранените стойности на височината и широчината: SELECT product_photo INTO myimage FROM pm.si_media WHERE product_id=3; height := myimage.SI_height; width := myimage.SI_width; DBMS_OUTPUT.PUT_LINE('Height is ' || height || ' pixels.'); DBMS_OUTPUT.PUT_LINE('Width is ' || width || ' pixels.'); COMMIT; END; 2323Цветанка Георгиева Моделиране на информационни системи
  24. 24. ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРИ (4)  SI_StillImage(content, explicitFormat, height, width)  Има следния формат: SI_StillImage(content IN BLOB, explicitFormat IN VARCHAR2, height IN INTEGER, width IN INTEGER) RETURN SI_STILLIMAGE as RESULT DETERMINISTIC;  Форматът на еквивалентната SQL функция е: ora_SI_MkStillImage(content IN BLOB) explicitFormat IN VARCHAR2, height IN INTEGER, width IN INTEGER) RETURN SI_StillImage DETERMINISTIC; 2424Цветанка Георгиева Моделиране на информационни системи
  25. 25. ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ SI_STILLIMAGE(CONTENT, EXPLICITFORMAT, HEIGHT, WIDTH)  Конструира SI_StillImage стойност от дадено изображение.  Позволява задаване на формата, височината, широчината на изображението при подаване на изображение в неподдържан формат.  Представлява разширение на Oracle към стандарта SQL/MM Still Image. 2525Цветанка Георгиева Моделиране на информационни системи
  26. 26. ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ SI_STILLIMAGE(CONTENT, EXPLICITFORMAT, HEIGHT, WIDTH) (2)  Инициализира SI_StillImage атрибутите като:  content_SI.localData се инициализира със зададеното изображение;  contentLength_SI се инициализира с дължината на съдържанието, извлечена от зададеното изображение;  format_SI се инициализира със зададения формат;  height_SI се инициализира със зададената височина, ако височината не може да бъде извлечена от зададеното изображение;  width_SI се инициализира със зададената широчина, ако широчината не може да бъде извлечена от зададеното изображение. 2626Цветанка Георгиева Моделиране на информационни системи
  27. 27. ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ SI_STILLIMAGE(CONTENT, EXPLICITFORMAT, HEIGHT, WIDTH) (3)  Задават се следните параметри:  content – данните на изображението;  explicitFormat – форматът, който Oracle трябва да използва, ако изображението е в неподдържан формат;  height – стойността за атрибута height_SI, която Oracle трябва да използва, ако изображението е в неподдържан формат;  width – стойността за атрибута width_SI, която Oracle трябва да използва, ако изображението е в неподдържан формат. 2727Цветанка Георгиева Моделиране на информационни системи
  28. 28. ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ SI_STILLIMAGE(CONTENT, EXPLICITFORMAT, HEIGHT, WIDTH) (4)  Изключенията, които могат да възникнат, са:  ORDImageSIExceptions.NULL_CONTENT – това изключение възниква, ако параметърът content е NULL;  ORDImageSIExceptions.ILLEGAL_HEIGHT_WIDTH_SPEC – това изключение възниква, ако стойността на параметъра height или width е NULL или е отрицателно число. 2828Цветанка Георгиева Моделиране на информационни системи
  29. 29. ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ SI_STILLIMAGE(CONTENT, EXPLICITFORMAT, HEIGHT, WIDTH) (5)  Връща се грешка, ако стойността на параметъра explicitFormat е NULL или ако едно следните две условие е изпълнено:  Стойността на параметъра explicitFormat е поддържан формат, но не съвпада с формата, извлечен от изображението;  Стойността на параметъра explicitFormat е неподдържан формат, но форматът, извлечен от изображението не е NULL. 2929Цветанка Георгиева Моделиране на информационни системи Параметърът explicitFormat Формат на изображение Грешка GIF (поддържан формат) GIF Не GIF (поддържан формат) JPEG Да xyz (неподдържан формат) GIF Да xyz (неподдържан формат) Null Не
  30. 30. ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ SI_STILLIMAGE(CONTENT, EXPLICITFORMAT, HEIGHT, WIDTH) – ПРИМЕР  Конструиране на SI_StillImage стойност от изображение чрез използване на конструктора. DECLARE lobd BLOB; fils BFILE := BFILENAME('FILE_DIR','window.psp'); newimage SI_StillImage; height NUMBER; width NUMBER; myimage SI_StillImage; BEGIN -- Поставяне на blob във временен LOB: DBMS_LOB.CREATETEMPORARY(lobd, TRUE); DBMS_LOB.FILEOPEN(fils, DBMS_LOB.FILE_READONLY); DBMS_LOB.LOADFROMFILE(lobd, fils, DBMS_LOB.GETLENGTH(fils)); DBMS_LOB.FILECLOSE(fils); 3030Цветанка Георгиева Моделиране на информационни системи
  31. 31. ТИПЪТ SI_STILLIMAGE – КОНСТРУКТОРЪТ SI_STILLIMAGE(CONTENT, EXPLICITFORMAT, HEIGHT, WIDTH) – ПРИМЕР (2) -- Създаване на нов SI_StillImage обект за това изображение (то е в -- неподдържан формат): newimage := NEW SI_StillImage(lobd, 'psp', 570, 1168); -- Добавяне на изображение в таблицата si_media, -- след което се освобождава временният LOB: INSERT INTO PM.SI_MEDIA (product_id, product_photo) VALUES (4, newimage); DBMS_LOB.FREETEMPORARY(lobd); -- Извличане на съхранените стойности на височината и широчината: SELECT product_photo INTO myimage FROM PM.SI_MEDIA WHERE product_id=4; height := myimage.SI_height; width := myimage.SI_width; DBMS_OUTPUT.PUT_LINE('Height is ' || height || ' pixels.'); DBMS_OUTPUT.PUT_LINE('Width is ' || width || ' pixels.'); COMMIT; END; 3131Цветанка Георгиева Моделиране на информационни системи
  32. 32. SI_STILLIMAGE МЕТОДИ  SI_ClearFeatures();  SI_InitFeatures();  SI_ChangeFormat();  SI_Content();  SI_ContentLength();  SI_Format();  SI_Height();  SI_RetainFeatures();  SI_SetContent();  SI_Thumbnail();  SI_Thumbnail(height,width);  SI_Width(). 3232Цветанка Георгиева Моделиране на информационни системи
  33. 33. ТИПЪТ SI_COLOR  … 3333Цветанка Георгиева Моделиране на информационни системи
  34. 34. 3434Цветанка Георгиева Цветанка Георгиева-Трифонова, 2017 Някои права запазени. Презентацията е достъпна под лиценз Creative Commons, Признание-Некомерсиално-Без производни, https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode

×