.net下image数组使用

.

在VB年代有专门的IMAGE数组控件,在.NET下却没有了这个控件,只能自己来实现。今天看DEVEXPRESS代码摘出来学习了一下

   public   class  ImageCollectionEditor
    
{
        
private Image GetImageFromCollection(Image iml, int width, int height, int wIndex, int hIndex)
        
{
            Bitmap res 
= new Bitmap(width, height);
            res.SetResolution(iml.HorizontalResolution, iml.VerticalResolution);
            Graphics g 
= Graphics.FromImage(res);
            g.DrawImage(iml, 
00new Rectangle(width * wIndex, height * hIndex, width, height), GraphicsUnit.Pixel);
            g.Dispose();
   
            
return res;
        }


        
/// <summary>
        
/// 获取IMAGE数组
        
/// </summary>
        
/// <param name="sourceImage">源图片</param>
        
/// <param name="vertical">图片方向</param>
        
/// <param name="InnerList">IMAGELIST控件</param>

        public virtual void AddImageStrip(Image sourceImage, bool vertical,ref System.Windows.Forms.ImageList InnerList)
        
{
            Size size 
= new Size (18,18);
            
int index = 0;
            
for (int i = vertical ? sourceImage.Height : sourceImage.Width; i > 0; i -= vertical ? size.Height : size.Width)
            
{
                InnerList.Images.Add(GetImageFromCollection(sourceImage, size.Width, size.Height, vertical 
? 0 : index, vertical ? index : 0));
                index
++;
            }

        }

MSDN针对DrawImage 的解释

Graphics . . :: .DrawImage 方法 (Image, array<Point > [] () [])

在指定位置并且按指定形状和大小绘制指定的 Image

命名空间:  System.Drawing
程序集:  System.Drawing(在 System.Drawing.dll 中)

C#
public void DrawImage(
Image image,
Point[] destPoints
)

参数
image
类型: System.Drawing..::.Image

要绘制的 Image

destPoints
类型: array< System.Drawing..::.Point > [] () []

由三个 Point 结构组成的数组,这三个结构定义一个平行四边形。

DEMO下载

 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值