zoukankan      html  css  js  c++  java
  • TCanvas.CopyRect方法中参数CopyMode的意义

    首先看可能取值:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    cmBlackness = BLACKNESS;
    cmDstInvert = DSTINVERT;
    cmMergeCopy = MERGECOPY;
    cmMergePaint = MERGEPAINT;
    cmNotSrcCopy = NOTSRCCOPY;
    cmNotSrcErase = NOTSRCERASE;
    cmPatCopy = PATCOPY;
    cmPatInvert = PATINVERT;
    cmPatPaint = PATPAINT;
    cmSrcAnd = SRCAND;
    cmSrcCopy = SRCCOPY;
    cmSrcErase = SRCERASE;
    cmSrcInvert = SRCINVERT;
    cmSrcPaint = SRCPAINT;
    cmWhiteness = WHITENESS;

    看效果.来点儿代码试一下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    procedure TForm3.Button1Click(Sender: TObject);
    var
      RC1,RC2:TRect;
    begin
      RC1:=Rect(0,0,img1.Width,img1.Height);
      RC2:=Rect(0,0,img2.Width,img2.Height);
      with img2.Canvas do
      begin
        CopyMode:=cmBlackness;//就改这个
        CopyRect(RC1,img1.Canvas,RC2);
      end;
    end;

    来弄个表格:
    image原图

    CopyMode 效果
    Blackness  image 用黑色填充目标矩形区域.
    Whiteness image 用白色填充目标矩形区域
    DstInvert image 将目标矩形图象进行反相
    MERGECOPY image 将源矩形图象与指定的图案刷(Pattern)进行布尔"与"运算
    MERGEPAINT image 将源矩形图形经过反相后,与目标矩形图象进行布尔"或"运算
    NOTSRCCOPY image 将源矩形图象经过反相后,复制到目标矩形上
    NOTSRCERASE image 先将源矩形图象与目标矩形图象进行布尔"或"运算,然后再将得图象进行反相
    PATCOPY image 将指定的图案刷复制到目标矩形上
    PATINVERT image 将指定的图案刷与目标矩形图象进行布尔"异或"运算
    PATPAINT image 先将源矩形图象进行反相,与指定的图案刷进行布尔"或"运算,再与目标矩形图象进行布尔"或"运算SRCAND 将源矩形图象与目标矩形图象进行布尔"与"运算
    SRCCOPY image 将源矩形图象直接复制到目标矩形上
    SRCERASE image 将目标矩形图象进行反相,再与源矩形图象进行布尔"与"运算
    SRCINVERT image 将源矩形图象与目标矩形图象进行布尔"异或"运算
    SRCPAINT image 将源矩形图象与目标矩形图象进行布尔"或"运算

    好.Bye

    http://www.cnblogs.com/huangjacky/archive/2010/02/27/1674653.html

  • 相关阅读:
    谈我们为什么学不好编程2——你是否已进入“等死模式”?
    JSP使用SmartUpload实现文件上传
    内核模块编程练习
    Vue++:Vue中 关于$emit的用法
    Vue++:Vue 脚手架在vue.config.js文件中配置scss全局变量
    Vue++:Vuecli3.0 脚手架搭建项目
    Java++:七个开源的 Spring Boot 前后端分离项目,一定要收藏!
    MySQL++:SQL 优化的15个小技巧
    RabbitMQ++:RabbitMQ 的队列(Queue)的参数及其含义
    Vue++:Vue 二级路由不显示页面问题
  • 原文地址:https://www.cnblogs.com/findumars/p/5185243.html
Copyright © 2011-2022 走看看