wpf,vb,位图剪裁的方法
‘ 貌似WPF对GDI+不提供支持,要达到剪裁图像的方法,可以使用image.clip,
’不过clip只是对图片的一个遮挡拦截效果,并不改变本身的图片资源。
‘下面的代码提供了剪裁图片资源的方法。 Dim path = "C:\Users\Administrator\Desktop\image\image\Images\tori_gaku_02.png"
Dim bitmap As BitmapSource = New BitmapImage(New Uri(path, UriKind.Absolute))
'获得位图宽度,高度
Dim width = bitmap.PixelWidth
Dim height = bitmap.PixelHeight
Dim bytePerPixel = bitmap.Format.BitsPerPixel /
Dim stride = width * bytePerPixel
'储存位图像素信息
Dim pixls(stride * height + ) As Byte
Dim dpix = bitmap.DpiX
Dim dpiy = bitmap.DpiY
Dim format = bitmap.Format 'PixelFormats.Bgr32 '
Dim palette = bitmap.Palette ' Nothing
'设置剪切矩形
Dim cut As New Int32Rect(, , width * 0.25, height * 0.25)
Dim cut2 As New Int32Rect(width * 0.25, height * 0.25, width * 0.25, height * 0.25)
'复制指定区域像素信息
bitmap.CopyPixels(cut2, pixls, stride, ) '用法2:bitmap.CopyPixels(pixls, stride, 0)
'根据复制的像素信息,新建一个位图
Dim image As BitmapSource = BitmapSource.Create(width * 0.25, height * 0.25, dpix, dpiy, format, palette, pixls, stride)
'新建一个image控件,显示剪裁的位图
Dim image2 As New Image
image2.Stretch = Stretch.Fill
image2.Width = width * 0.25
image2.Height = height * 0.25
image2.Source = image
grid1.Children.Add(image2)
wpf,vb,位图剪裁的方法的更多相关文章
- vb.net加密解密方法
1.vb.net加密解密方法 Private Function getLicenseDate() As String Dim b() As Byte Dim path As String = Serv ...
- C#中实现VB中的CreateObject方法
经常看到有些VB的例子中直接用个CreateObject就可调用系统功能(大多是COM对象),像用户设定,网络设定等等.虽然C#中可以通过使用VB的命名空间的方法来调用CreateObject函数,但 ...
- WPF之TreeList的实现方法1
WPF之TreeList的实现方法(一) 做项目的时候根据需求,WPF现有的控件不能完全满足我们的需求, 很多时候我们需要对现有的控件做一下加工. 最简单的我们可能会把Tree转换成List形式有的叫 ...
- WPF实现MDI窗体的方法
原文:WPF实现MDI窗体的方法 第一:新建一个类(Class) Win32Native.cs 代码如下: using System; using System.Collections.Generi ...
- WPF文字描边的解决方法(二)——支持文字竖排和字符间距调整
原文:WPF文字描边的解决方法(二)--支持文字竖排和字符间距调整 自前天格式化文本效果出来后,今天又添加文本竖排和调整字符间距的功能.另外,由于上次仓促,没来得及做有些功能的设计时支持,这次也调整好 ...
- WPF/C# 快捷键 自动生成方法
原文:WPF/C# 快捷键 自动生成方法 这一篇文章会很短~ 在写依赖属性的会后 propdb 会自动生成依赖属性所有的内容 但是如果我写属性变化通知的时候 希望有一个快捷键能自动生成方法 怎 ...
- vb.net datagridview 使用方法
目录: 1. 取得或者修改当前单元格的内容 2. 设定单元格只读 3. 不显示最下面的新行 4. 判断新增行 5. 行的用户删除操作的自定义 6. 行.列的隐藏和删除 7. 禁止列或者行 ...
- WPF之TreeList的实现方法(一)
做项目的时候根据需求,WPF现有的控件不能完全满足我们的需求, 很多时候我们需要对现有的控件做一下加工. 最简单的我们可能会把Tree转换成List形式有的叫Grid形式就像下图一样 今天我先做一个完 ...
- 用VB操作Excel的方法
VB是常用的应用软件开发工具之一,由于VB的报表功能有限,而且一但报表格式发生变化,就得相应修改程序,给应用软件的维护工作带来极大的不便.因此有很多程序员现在已经充分利用EXECL的强大报表功来实现报 ...
随机推荐
- 【Redis】一、Redis简介及五种数据类型
(一)Redis简介 Redis(Remote Dictionary Server)是一个使用ANSI C语言编写.遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key-Value的开源 ...
- HTML 符号实体
带有实体名称的 ASCII 实体 结果 描述 实体名称 实体编号 " quotation mark " " ' apostrophe ' ' & ...
- linux 的sed命令解释 sed ':t;N;s/\n/,/;b t' 将换行符换成逗号
linux 的sed命令解释 sed ':t;N;s/\n/,/;b t' 将换行符换成逗号 实现的功能是吧换行符换成逗号了,自己试验过. 求解释,:t N b t 都是什么意思??? :t 定义la ...
- Win32 线程同步
Win32 线程同步 ## Win32线程同步 ### 1. 原子锁 ### 2. 临界区 {全局变量} CRITICAL_SECTION CS = {0}; // 定义并初始化临界区结构体变量 {线 ...
- PAT 1110 Complete Binary Tree
Given a tree, you are supposed to tell if it is a complete binary tree. Input Specification: Each in ...
- 我的ArcGis9.3 到Arcgis10.0 升级步骤
因为之前一直安装的是Arcgis 9.3 版本,领导发了个10.0版本说,该升级了,结果就开始了漫漫的升级路. 个人操作过程,只是个别. 一.卸载Arcgis9.3 这个过程真说是艰辛啊. 首先,卸载 ...
- Django——12 中间件 上下文处理器 admin后台
Django 中间件 中间件介绍 中间件的第一个例子 中间件的第二个例子 上下文处理器 admin后台管理 中间件 Django中间件(Middleware)是一个轻量级.底层的“插件”系统,可以 ...
- CODEVS3147 矩阵乘法2
...怎么优化都是90分,最后一个点一直T掉,有谁过了请告诉我. Program CODEVS3147; ; ..maxn,-..maxn] of longint; n,q,i,j,k,k1,k2,k ...
- kendo Grid的toolbar自定义
由于这个toolbar官方进增加了create,save还有一个是_____ 所以想要自定义话就需要使用 下面的代码(这个是MVVM模式) data-toolbar='[{ template: Ken ...
- Spark 颠覆 MapReduce 保持的排序记录
在过去几年,Apache Spark的採用以惊人的速度添加着,通常被作为MapReduce后继,能够支撑数千节点规模的集群部署. 在内存中数 据处理上,Apache Spark比MapReduce更加 ...