加载中…
个人资料
Lemon
Lemon
  • 博客等级:
  • 博客积分:0
  • 博客访问:204,979
  • 关注人气:38
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

ABAP 图片预览

(2013-01-04 23:27:17)
标签:

abap

图片预览

杂谈

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

在屏幕 9000上创建容器  GL_IMAGE  并处理相应的PAI和PBO事件,在PBO事件中增加一个MODULE,在其中添加如下代码:
  DATA: w_lines TYPE i.
  TYPES pict_line(256) TYPE c.
  DATA :
        container TYPE REF TO cl_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 OCCURS 0,
          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 EXPORTING container_name = 'GL_IMAGE',
                picture EXPORTING parent = container.

  "获取图片
  CALL METHOD cl_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).
    APPEND graphic_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 METHOD picture->load_picture_from_url
    EXPORTING
      url = url.

  "显示模式 居中自适应
  CALL METHOD picture->set_display_mode
    EXPORTING
      display_mode = picture->display_mode_fit_center.

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有