zoukankan      html  css  js  c++  java
  • .netcf 图片区域拷贝[图片切割]


    前言

      关键字:.netcf  BitBlt、图片区域拷贝、图片切割

      接触Windows Mobile开发近一个月,陆陆续续有了一些小经验要和大家分享,希望对刚入门的朋友有所帮助 :)

    正文

      一、效果图

         

      二、实现代码

            const int SRCCOPY = 0x00CC0020;

            
    /// <summary>
            
    /// 拷贝图片的某一个区域,生成一个新图片
            
    /// </summary>
            
    /// <param name="bitSrc"></param>
            
    /// <param name="rectDest"></param>
            
    /// <returns></returns>
            public static Bitmap CopyBitmap(Bitmap bitSrc, Rectangle rectDest)
            {
                Bitmap result 
    = new Bitmap(rectDest.Width, rectDest.Height);
                Graphics g1 
    = Graphics.FromImage(bitSrc);
                Graphics g2 
    = Graphics.FromImage(result);
                IntPtr hdc1 
    = g1.GetHdc();
                IntPtr hdc2 
    = g2.GetHdc();
                BitBlt(hdc2, 
    00, rectDest.Width, rectDest.Height, hdc1, rectDest.X, rectDest.Y, SRCCOPY);
                g1.ReleaseHdc(hdc1);
                g2.ReleaseHdc(hdc2);
                g1.Dispose();
                g2.Dispose();
                
    return result;
            }

            
    /// <summary>
            
    /// 使用选定的刷子、源位图和ROP3码绘制选定的矩形
            
    /// 获得屏幕图形并将它写入内存中的一个位图中(截屏)
            
    /// </summary>
            
    /// <param name="hdcDest">目的上下文设备的句柄 </param>
            
    /// <param name="nXDest">目的图形的左上角的x坐标 </param>
            
    /// <param name="nYDest">目的图形的左上角的y坐标 </param>
            
    /// <param name="nWidth">目的图形的矩形宽度 </param>
            
    /// <param name="nHeight">目的图形的矩形高度 </param>
            
    /// <param name="hdcSrc">源上下文设备的句柄</param>
            
    /// <param name="nXSrc">源图形的左上角的x坐标</param>
            
    /// <param name="nYSrc">源图形的左上角的x坐标</param>
            
    /// <param name="dwRop">光栅操作代码 </param>
            
    /// <returns></returns>
            [DllImport("CoreDLL.dll")]
            
    public static extern bool BitBlt(IntPtr hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, IntPtr hdcSrc, int nXSrc, int nYSrc, int dwRop);


      三、下载

        BitBltCutImage2010-2-6.rar 

    结束语

      由于接触时间有限,做起项目来比较吃力,手里可打的牌不多,还需要再积累积累,再坚持坚持,做上几个项目就会好很多的:)

  • 相关阅读:
    【转】什么时候用抽象类,什么时候用接口
    高内聚松耦合在程序设计中如何做到
    如何做高水平的程序项目设计者
    NHibernate条件查询(Criteria Query)
    Oracle学习笔记之表结构修改
    Java集合类和HashMap遍历
    Asp.net中基于Forms验证的角色验证授权
    Springconfig.xml数据库操作Bean配置
    Java 常用排序算法实现快速排序、插入排序、选择、冒泡
    .net消息队列
  • 原文地址:https://www.cnblogs.com/over140/p/1664832.html
Copyright © 2011-2022 走看看