* Demo: GRAPHICS_IGS_IMGCONV_DEMO * Dateiname der Bilddatei zum hochladen PARAMETERS: p_fname TYPE file_table-filename OBLIGATORY. * wenn die F4-Hilfe für den Dateinamen aufgerufen wird AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fname. DATA: lv_rc TYPE i. DATA: it_files TYPE filetable. DATA: lv_action TYPE i. * File-Tabelle leeren, da hier noch alte Einträge von vorherigen Aufrufen drin stehen können CLEAR: it_files. * FileOpen-Dialog aufrufen TRY. cl_gui_frontend_services=>file_open_dialog( EXPORTING file_filter = |gif (*.gif)\|*.gif\|{ cl_gui_frontend_services=>filetype_all }| CHANGING file_table = it_files rc = lv_rc user_action = lv_action ). IF lv_action = cl_gui_frontend_services=>action_ok. * wenn Datei ausgewählt wurde IF lines( it_files ) > 0. * ersten Tabelleneintrag lesen p_fname = it_files[ 1 ]-filename. ENDIF. ENDIF. CATCH cx_root INTO DATA(e_text). MESSAGE e_text->get_text( ) TYPE 'S' DISPLAY LIKE 'E'. ENDTRY. START-OF-SELECTION. TRY. DATA: lv_filesize TYPE w3param-cont_len. DATA: lv_filetype TYPE w3param-cont_type. DATA: it_bin_data TYPE w3mimetabtype. * Bild auf Appl. Server hochladen (binary) cl_gui_frontend_services=>gui_upload( EXPORTING filename = |{ p_fname }| filetype = 'BIN' IMPORTING filelength = lv_filesize CHANGING data_tab = it_bin_data ). * Konverterobjekt erzeugen DATA(o_conv) = NEW cl_igs_image_converter( ). * MIME-Typen (Format) für input und output festlegen o_conv->input = 'image/gif'. " Quellformat ist ein GIF o_conv->output = 'image/x-ms-bmp'. " Ausgabeformat ist ein BMP * neue Bildgröße festlegen * o_conv->height = '100'. " neue Höhe 100 * o_conv->width = '100'. " neue Breite 100 * Bildaten übergeben o_conv->set_image( blob = it_bin_data blob_size = lv_filesize ). * Image konvertieren o_conv->execute( ). * Anzahl Ergebnisbilder > 0 IF o_conv->get_image_count( ) > 0. * Bilddaten im Ausgabeformat holen o_conv->get_image( IMPORTING blob = it_bin_data blob_size = lv_filesize blob_type = lv_filetype ). * Image lokal speichern cl_gui_frontend_services=>gui_download( EXPORTING filename = 'c:\temp\temp.bmp' filetype = 'BIN' bin_filesize = lv_filesize CHANGING data_tab = it_bin_data ). ENDIF. CATCH cx_root INTO DATA(e_txt). WRITE: / e_txt->get_text( ). ENDTRY.
Kategorien
-
Neueste Beiträge
- [ABAP] Varianten eines Reports lesen
- Warum Krebspatienten so viel Gewicht verlieren
- [SAP Fiori] ABAP RESTful Application Programming Model (RAP)
- [SAP] Events und Typkoppelungen
- [SAP Gateway] Daten versenden über einen eventbasierten Aufruf einer OData-Funktion
- [ABAP] SE80: Tricks für den ABAP-Editor
- [SAP] Kurz- und Langtexte in Objekten suchen
- [SAP] Buchungskreis, Werk, Bewertungskreis, Kostenrechnungskreis, Einkaufsorganisation, Lagerort
- [ABAP] SAP-Workdir ermitteln
- [ABAP] SELECT-OPTIONS: Möglichkeiten, um Variablen zu definieren