zoukankan      html  css  js  c++  java
  • VFP 图形文件与剪切板互换的API解决方法

    在 VFP 中,凡遇图形处理,大多数情况下,都会涉及到图形文件与剪切板互换的情况。下面给出利用 API 解决的方法。这是原来从网上摘下来的,版权归原作者。
    基本处理的代码如下,你可以将其应用到你的代码中。

    DECLARE INTEGER OpenClipboard               IN User32 INTEGER
    DECLARE INTEGER CloseClipboard              IN User32
    DECLARE INTEGER EmptyClipboard              IN User32
    DECLARE INTEGER SetClipboardData            IN User32 INTEGER,INTEGER
    DECLARE INTEGER LoadImage                   IN WIN32API INTEGER,String,INTEGER,INTEGER,INTEGER,INTEGER
    DECLARE INTEGER GetClipboardData            IN User32 INTEGER
    DECLARE INTEGER GdipCreateBitmapFromHBITMAP IN GdiPlus.dll INTEGER, INTEGER, INTEGER @
    DECLARE INTEGER GdipSaveImageToFile         IN GdiPlus.dll INTEGER,String,String @,String @
    DECLARE Long    GdipCreateHBITMAPFromBitmap IN GDIPLUS.DLL Long nativeImage, Long @, Long
    DECLARE Long    GdipCreateBitmapFromFile    IN GDIPLUS.DLL String FileName, Long @nBitmap
    DECLARE Long    CopyImage                   IN WIN32API Long hImage, Long, Long, Long , Long

    #Define CF_BITMAP 2
    #Define CF_DIB 8
    #Define IMAGE_BITMAP 0
    #Define LR_LOADFROMFILE 16

    *1.将图形文件保存到剪切板
    nBitmap=0
    hbm=0
    imagefile='图形文件名'
    GdipCreateBitmapFromFile(STRCONV(imagefile+0h00,5),@nBitmap)
    GdipCreateHBITMAPFromBitmap(nBitmap,@hbm,0)
    lhBmp = CopyImage(hbm, 0, 0, 0, 0)
    IF OpenClipboard(0)!= 0
       EmptyClipboard()
       SetClipboardData(CF_BITMAP, lhBmp)
       CloseClipboard()
    ENDIF

    *2.将剪切板图形保存到本地
    OpenClipboard(0)
    hBitmap = GetClipboardData(CF_BITMAP)
    hDib = GetClipboardData(CF_DIB)
    CloseClipboard()
    uBitmap=0
    GdipCreateBitmapFromHBITMAP(hBitmap,2,@uBitmap)
    lcOutputFile=STRCONV('C:\_Temp1.jpg'+CHR(0),5)
    *!* lqEncoderClsID_BMP=0h00F47C55041AD3119A730000F81EF32E &&BMP格式
    lqEncoderClsID_JPG=0h01F47C55041AD3119A730000F81EF32E &&JPG格式
    *!* lqEncoderClsID_GIF=0h02F47C55041AD3119A730000F81EF32E &&GIF格式
    *!* lqEncoderClsID_TIF=0h05F47C55041AD3119A730000F81EF32E &&TIF格式
    *!* lqEncoderClsID_PNG=0h06F47C55041AD3119A730000F81EF32E &&PNG格式
    GdipSaveImageToFile(uBitmap,lcOutputFile,lqEncoderClsID_JPG,NULL)

  • 相关阅读:
    java爬虫系列目录
    java爬虫系列第五讲-如何使用代理防止爬虫被屏蔽?
    java爬虫系列第三讲-获取页面中绝对路径的各种方法
    java爬虫系列第二讲-爬取最新动作电影《海王》迅雷下载地址
    java爬虫系列第一讲-爬虫入门
    spring aop中pointcut表达式完整版
    wkhtmltox实现网页转换成图片或pdf
    spring通知执行的顺序
    nginx代理(正向代理和反向代理)
    nginx热加载、热升级、回滚
  • 原文地址:https://www.cnblogs.com/hnllhq/p/12287595.html
Copyright © 2011-2022 走看看