zoukankan      html  css  js  c++  java
  • 设置图片透明

    对图片的透明度的调整可以通过重绘并且对颜色进行调整得到实现
    C#中对颜色的调整是通过一个ColorMatrix的对象实现的 这个对象表示一个5X5的矩阵 用于对颜色进行线性的变换 作为一般的理解 只需要指定一个如下的矩阵即可实现对颜色的变换:
    1,0,0,0,0
    0,1,0,0,0
    0,0,1,0,0
    0,0,0,透明度,0
    0,0,0,0,1

    简单的代码如下:
    //注意using System.Drawing名字空间 opacity是想要设定的透明度,opacity范围(0-255)

    float[][] nArray ={ new float[] {1, 0, 0, 0, 0},
    new float[] {0, 1, 0, 0, 0},
    new float[] {0, 0, 1, 0, 0},
    new float[] {0, 0, 0, opacity/255f, 0},
    new float[] {0, 0, 0, 0, 1}};
    ColorMatrix matrix = new ColorMatrix(nArray);
    ImageAttributes attributes = new ImageAttributes();
    attributes.SetColorMatrix(matrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap )
    Image srcImage = Image.FromFile("aaa.jpg");
    Bitmap resultImage = new Bitmap(srcImage.Width, srcImage.Height);
    Graphics g = Graphics.FromImage(resultImage);
    g.DrawImage( srcImage, new Rectangle( 0, 0, srcImage.Width, srcImage.Height ), 0, 0, srcImage.Width, srcImage.Height, GraphicsUnit.Pixel, attributes);

    //resultImage就是透明化后的图片
  • 相关阅读:
    [POJ 3253] Fence Repair
    [POJ 1422] Air Raid
    [POJ 2195] Going Home
    [POJ 1273] Drainage Ditches
    [BZOJ 1718] Redundant Paths
    [POJ 1041] John's Trip
    [NOI 2003] 逃学的小孩
    __attribute__((noreturn))的用法
    回味经典——uboot1.1.6 之 第二阶段 第三阶段
    回味经典——uboot1.1.6 之 第一阶段
  • 原文地址:https://www.cnblogs.com/Neallin/p/5610450.html
Copyright © 2011-2022 走看看