少年休闲海

少年休闲海的SAP世界

ABAP 图片预览

在SMARTFORMS中需要打印的时候如果需要打印图片的话一般需要手动上传图片到服务器上,如果批量上传以后想预览的话系统没有提供标准的批量预览的功能,只能在SE78中一个个预览。下面介绍的也是一个个预览的,考虑在列表中双击的时候展示出来。

在屏幕 9000上创建容器  GL_IMAGE 并处理相应的PAI和PBO事件,在PBO事件中增加一个MODULE,在其中添加如下代码:
  DATA: w_lines TYPE i.
  TYPES pict_line(256) TYPE c.
  DATA :
       container TYPE REF TOcl_gui_custom_container,
       editor TYPE REF TO cl_gui_textedit,
       picture TYPE REF TO cl_gui_picture,
       pict_tab TYPE TABLE OF pict_line,
       url(255) TYPE c.
  DATA: graphic_url(255).
  DATA: BEGIN OF graphic_table OCCURS0,
         line(255) TYPE x,
       END OF graphic_table.
  DATA: l_graphic_conv TYPE i.
  DATA: l_graphic_offs TYPE i.
  DATA: graphic_size TYPE i.
  DATA: l_graphic_xstr TYPE xstring.
  .

  "刷新
  CALL METHOD cl_gui_cfw=>flush.

  "创建容器
  CREATE OBJECT:container EXPORTINGcontainer_name = 'GL_IMAGE',
              picture EXPORTING parent =container.

  "获取图片
  CALL METHODcl_ssf_xsf_utilities=>get_bds_graphic_as_bmp
    EXPORTING
     p_object       ='GRAPHICS'
     p_name        = 'ZUS_LOGO'
      p_id         = 'BMAP'
     p_btype       = 'BCOL'
    RECEIVING
      p_bmp        = l_graphic_xstr
         .

  "图片大小
  graphic_size = XSTRLEN( l_graphic_xstr).
  l_graphic_conv = graphic_size.
  l_graphic_offs = 0.

  "将图片数据放到内表中
  WHILE l_graphic_conv > 255.
    graphic_table-line =l_graphic_xstr+l_graphic_offs(255).
    APPENDgraphic_table.
    l_graphic_offs =l_graphic_offs + 255.
    l_graphic_conv =l_graphic_conv - 255.
  ENDWHILE.
  graphic_table-line =l_graphic_xstr+l_graphic_offs(l_graphic_conv).
  APPEND graphic_table.

  "创建图片的URL
  CALL FUNCTION 'DP_CREATE_URL'
    EXPORTING
      type    = 'IMAGE'
     subtype  = 'X-UNKNOWN'
      size    = graphic_size
     lifetime = 'T'
    TABLES
      data    = graphic_table
    CHANGING
      url     =url.

  "根据URL 展示图片
  CALL METHODpicture->load_picture_from_url
    EXPORTING
      url =url.

  "显示模式 居中自适应
  CALL METHODpicture->set_display_mode
    EXPORTING
     display_mode = picture->display_mode_fit_center.
阅读更多
个人分类: 程序人生 ABAPer
上一篇ABAP 直接上传图片的函数
下一篇ABAP 几个文件相关的函数
想对作者说点什么? 我来说一句

Jquery 图片预览

2010年08月08日 154KB 下载

简单JS实现多图上传和预览

2017年12月19日 31KB 下载

js图片预览

2011年11月24日 2KB 下载

封装photoswipe实现图片预览

2018年05月02日 4KB 下载

图片预览插件.txt

2011年11月16日 5KB 下载

jQuery图片预览插件

2014年06月10日 285KB 下载

图片轮换效果

2012年11月16日 190KB 下载

FCKeditor 2.6 图片预览

2011年10月08日 1.29MB 下载

js上传图片 图片预览

2010年09月02日 13KB 下载

jQuery实现图片预览功能

2016年05月16日 166KB 下载

没有更多推荐了,返回首页

关闭
关闭