C#实现图片放大功能的按照像素放大图像方法
本文实例讲述了基于Visual C#实现的图片放大功能代码。可以直接放大像素,类似photoshop的图片放大功能,可用于像素的定位及修改,由于使用了指针需要勾选允许不安全代码选项,读者可将其用于自己的项目中!
关于几个参数说明:
srcbitmap源图片
multiple图像放大倍数
放大处理后的图片
注意:需要在头部引用:using System.Drawing;using System.Drawing.Imaging;
至于命名空间读者可以自己定义。
主要功能代码如下:
using System.Drawing;using System.Drawing.Imaging; public Bitmap Magnifier(Bitmap srcbitmap, int multiple) { if (multiple <= 0) { multiple = 0; return srcbitmap; } Bitmap bitmap = new Bitmap(srcbitmap.Size.Width * multiple, srcbitmap.Size.Height * multiple); BitmapData srcbitmapdata = srcbitmap.LockBits(new Rectangle(new Point(0, 0), srcbitmap.Size), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb); BitmapData bitmapdata = bitmap.LockBits(new Rectangle(new Point(0, 0), bitmap.Size), ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb); unsafe { byte* srcbyte = (byte*)(srcbitmapdata.Scan0.ToPointer()); byte* sourcebyte = (byte*)(bitmapdata.Scan0.ToPointer()); for (int y = 0; y < bitmapdata.Height; y++) { for (int x = 0; x < bitmapdata.Width; x++) { long index = (x / multiple) * 4 + (y / multiple) * srcbitmapdata.Stride; sourcebyte[0] = srcbyte[index]; sourcebyte[1] = srcbyte[index + 1]; sourcebyte[2] = srcbyte[index + 2]; sourcebyte[3] = srcbyte[index + 3]; sourcebyte += 4; } } } srcbitmap.UnlockBits(srcbitmapdata); bitmap.UnlockBits(bitmapdata); return bitmap; }
相关推荐
-
C# 实现的图片盖章功能,支持拖拽、旋转、放缩、保存
实现图片盖章功能,在图片上点击,增加"图章"小图片,可以拖拽"图章"到任意位置,也可以点击图章右下角园框,令图片跟着鼠标旋转和放缩. 操作方法:1.点击增加"图章"2.选中移动图标3.点中右下角放缩旋转图章. 效果图: 实现代码如下: 1. 窗口Xaml代码 复制代码 代码如下: <Window x:Class="Lenovo.YogaPaster.ImageEditWindow" xmlns="htt
-
WPF/Silverlight实现图片局部放大的方法分析
本文实例讲述了WPF/Silverlight实现图片局部放大的方法.分享给大家供大家参考,具体如下: 最近的项目中也要用到一个局部图片放大的功能,前面这篇<silverlight实现图片局部放大效果的方法>虽然已经给出了原理.知识要点.尺寸要点及后端主要代码,但遗憾的是没有给出xaml的代码.这里按照前文中的提示,动手用WPF实践了一下,花了一个小时,终于搞出来了.这篇文章也就算是一个补充吧. 界面如下图所示: 实现的原理和用到的知识点请点击上面的链接,杨大侠已经说的很清楚了.这里主要强调的就
-
C#图片按比例缩放的实现代码
复制代码 代码如下: using System.Drawing;using System.Drawing.Drawing2D;using System.Drawing.Imaging; namespace Publics{ public class ImgHelper { public static void AdjustPhoto(int toWidth, int toHeight, string filePath, string fromFileName, stri
-
Silverlightbutton图片切换样式实例代码
之前一直做WPF现在开始接触Slilverlight感触很多. 今天做一个Button要求 有两个图片,button默认有一个图片,鼠标over时用另一个图片, 用wpf做的时候写一个template很简单,但silverlight和wpf写起来不一样 记录一下.大概思路是两个image鼠标MouseOver的时候一个Visible一个Collapsed 写的是一个自定义控件,代码和皮肤分离,很简单的一个demo 代码下载:ImageButtonTest.rar 先写一个继承自button的im
-
深入分析WPF客户端读取高清图片卡以及缩略图的解决方法详解
在Ftp上传上,有人上传了高清图片,每张图片大约2M.如果使用传统的BitmapImage类,然后绑定 Source 属性的方法,有些电脑在首次会比较卡,一张电脑10秒,4张大约会卡40秒. 所以我先异步的下载图片,得到downloadFileStream对象,然后绑定到BitmapImage类上.例如:System.Windows.Controls.Image photo = new Image{ Width = 100, Height = 100, Margin = new
-
silverlight实现图片局部放大效果的方法
本文实例讲述了silverlight实现图片局部放大效果的方法.分享给大家供大家参考,具体如下: 很多购物平台中(比如京东购物),浏览产品详情时都有这种效果,前几天看到有朋友问SL能不能实现,当然可以 界面: 1.左侧小图片(用一个矩形Fill一张图片即可) 2.左侧半透明矩形 3.右侧大图片(用一个Canvas设置Clip裁剪可视区域作为蒙板,图片放置在Canvas中即可) 原理: 获取左侧半透明矩形的相对位置,然后动态调整右侧大图的Canvas.Left与Canvas.Top 需要知道以下技
-
Silverlight将图片转换为byte的实现代码
最近总是有人问如何通过Silverlight上传图片并保存的后台服务器?众所周知,Silverlight是客户端程序,不能很好与服务器进行"沟通",上传图片的方法呢大致都是通过以下流程: 1.客户端获取图片-->2.转换能够传输的数据-->3.传递数据到服务端-->4.服务端还原数据为图片 第一步和第四步没有问题,问题大多出在第二步和第三步,如何得到客户端和服务端都能识别并且容易传递的数据呢? 如果你使用的客户端和服务端都是.NET方案,这就非常好办,可以通过下面的方
-
WPF实现图片合成或加水印的方法【2种方法】
本文实例讲述了WPF实现图片合成或加水印的方法.分享给大家供大家参考,具体如下: 最近项目中应用多次应用了图片合成,为了今后方便特此记下. 在WPF下有两种图片合成的方式,一种还是用原来C#提供的GDI+方式,命名空间是System.Drawing 和 System.Drawing.Imaging,另一种是WPF中新添加的API,命名空间是 System.Windows.Media 和 System.Windows.Media.Imaging . 我们来做一个简单的例子,分别用上面的两种方式实现
-
c#图片缩放图片剪切功能实现(等比缩放)
所谓c#图片处理高级应,多数是基于.net framework类库完成 复制代码 代码如下: using system;using system.collections.generic;using system.text;using system.io;using system.drawing;using system.drawing.drawing2d;using system.drawing.imaging; namespace wujian.common{ /// <summary>
-
C#实现图片放大功能的按照像素放大图像方法
本文实例讲述了基于Visual C#实现的图片放大功能代码.可以直接放大像素,类似photoshop的图片放大功能,可用于像素的定位及修改,由于使用了指针需要勾选允许不安全代码选项,读者可将其用于自己的项目中! 关于几个参数说明: srcbitmap源图片 multiple图像放大倍数 放大处理后的图片 注意:需要在头部引用:using System.Drawing;using System.Drawing.Imaging; 至于命名空间读者可以自己定义. 主要功能代码如下: using Sys
-
python读取图片颜色值并生成excel像素画的方法实例
像素画: 需要用到的包: 进度条:progressbar pip install progressbar -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com excel:操作包openpyxl pip install openpyxl -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com 食用指南:
-
基于jquery实现图片放大功能
本文实例为大家分享了jquery实现图片放大功能的具体实现代码,供大家参考,具体内容如下 图片放大功能类似于淘宝上的商品的查看,如果鼠标移动到小图上就会在相应的位置显示出大图.如果自己写这些代码,会很痛苦.官方网站上提供了一个类库--jquery.jqzoom.js:只需要引入次类库,引用此类库,添加一些css代码即可实现此功能: HTML框架如下: <div class="jqzoom"> <img src="images/pro_img/blue_one
-
Vue press 支持图片放大功能的实例代码
介绍 VuePress 由两部分组成:一个以 Vue 驱动的主题系统的简约静态网站生成工具,和一个为编写技术文档而优化的默认主题.它是为了支持 Vue 子项目的文档需求而创建的. 由 VuePress 生成的每个页面,都具有相应的预渲染静态 HTML,它们能提供出色的加载性能,并且对 SEO 友好.然而,页面加载之后,Vue 就会将这些静态内容,接管为完整的单页面应用程序(SPA).当用户在浏览站点时,可以按需加载其他页面. 前两天接触到了 Vuepress ,颜值很高,界面简洁,容易上手.于是
-
微信小程序如何实现点击图片放大功能
这篇文章主要介绍了微信小程序如何实现点击图片放大功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 WXML: <view class='imgList'> <view class='imgList-li' wx:for='{{imgArr}}'> <image class='img' src='{{item}}' data-src='{{item}}' bindtap='previewImg'></image&
-
Vue后台实现点击图片放大功能的示例代码
目录 需求 代码 父组件 子组件 dom.js util.js types.js 需求 点击小图可以放大,放大后,通过手势等比例放大缩小.左右切换图.旋转.关闭.由于element-ui版本较低不支持使用图片放大的image组件. 代码 父组件 <template> <div> <!-- 放大图 --> <el-image-viewer v-if="showImg" :on-close="closeViewer" :src=
-
Android开发实现的图片浏览功能示例【放大图片】
本文实例讲述了Android开发实现的图片浏览功能.分享给大家供大家参考,具体如下: 效果图: 布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res
-
Qt利用ImageWatch实现图片查看功能
使用Qt实现ImageWatch图片查看功能,图片放大可见RGB像素值.支持打开大图片,即打开一个几百MB甚至几GB的大图片. 1.什么是ImageWatch Visual Studio有专门针对OpenCV开发的插件,名叫ImageWatch,图片放大之后可以查看RGB的像素值. Image Watch 2019 - Visual Studio Marketplace Image Watch Help 2.得空自己用Qt仿照实现了一下这个功能: 纯粹Qt写的,没有使用Halcon和OpenCV
-
java实现的图片裁剪功能示例
本文实例讲述了java实现的图片裁剪功能.分享给大家供大家参考,具体如下: PicCut.java: package Tsets; import java.awt.Rectangle; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.Iterator; import javax
-
jquery实现图片放大镜功能
实现原理: 这里用到了两张图片,一张小图,一张大图.将大图设置为放大镜的背景图片,当鼠标在小图上移动时,同时控制背景大图在放大镜中的位置.两张图片大小最好是等比例的,这样才能达到最佳效果.当没有大图时,则默认为小图本身,这时由于两张图片大小一样,因此放大镜效果不明显,就跟没放大是一样的. 此插件用到了html5,css3的一些属性,ie8及以下版本不兼容,放大镜是方形的. 运行效果截图如下: 具体代码如下: (function () { $.fn.Magnifier = function (op
随机推荐
- 使用jQuery实现Web页面换肤功能的要点解析
- 先删除后装更安全IIS重装有讲究
- 关于脚本调用外部对像和类型库
- iis中ASP运行环境配置图解 IIS的安装和基本设置
- Java回调函数实例代码详解
- 第三方网站微信登录java代码实现
- window.dialogArguments 使用说明
- javascript实现自动输出文本(打字特效)
- php的大小写敏感问题整理
- PHP制作百度词典查词采集器
- PHP永久登录、记住我功能实现方法和安全做法
- Javascript学习笔记之 对象篇(一) : 对象的使用和属性
- MySQL创建和删除数据库的命令及相关PHP脚本的操作方法
- 用js将内容复制到剪贴板兼容浏览器
- mysql之delete删除记录后数据库大小不变
- 让GoogleCode的SVN下的HTML文件在FireFox下正常显示.
- JSP由浅入深(6)—— JSP声明
- C#自动设置IE代理服务器(翻墙软件)代码实现
- Java写入写出Excel操作源码分享
- thinkphp5 加载静态资源路径与常量的方法