在WPF中将图片转换成3D图像并可以旋转
时光偷走的,永远都是我们眼皮底下看不见的珍贵。
https://pan.baidu.com/s/14dk-OU2SR0nxXj2bL4bVpQ
源码网站
https://www.codeproject.com/Articles/42174/High-performance-WPF-D-Chart
首先先看一下源代码最初的运行效果,是否是自己需要的。




在这里,三维的面图是用函数生成的Z轴数据,当然,我们也可以使用图片的颜色作为Z轴。
准备工作,VS2008及以上版本,博主使用的是VS2017,需要升级一下项目。
在此感谢:Jianzhong Zhang
问题:
1、使用图片的颜色作为第三轴(Z轴)
解决思路:
1.1 查看源码中Z轴数据生成方式
1.2 将图片读取进来,并转换成RGB数组
1.3 将图片RGB数组替换原本的Z轴数据
找到Window1中代码:

1.1 红色表明是用函数给Z轴赋值。
// ***************************** 将图片转换成颜色数组 ***************************
public static System.Drawing.Color[,] img2color(String imgfile)
{
System.Drawing.Bitmap img = new System.Drawing.Bitmap(imgfile);
System.Drawing.Color[,] allcolor = new System.Drawing.Color[img.Height, img.Width];
for (int h = ; h < img.Height; h++)
for (int w = ; w < img.Width; w++)
{
allcolor[h, w] = img.GetPixel(w, h);
}
GC.Collect();
return allcolor;
}


将下列代码放入TestSurffacePlot方法中:
float[] newData = new float[];
System.Drawing.Color[,] allcolor = img2color("xxx111.jpg");
int width = ;
for (int j = ; j < ; j++)
{
Color NewColor = new Color();
if (allcolor[j % width, j / width].B < && allcolor[j % width, j / width].R < && allcolor[j % width, j / width].G < )
{
NewColor.A = ;
NewColor.B = ;
NewColor.R = ;
NewColor.G = ;
}
else {
NewColor.A = allcolor[j % width, j / width].A;
NewColor.R = allcolor[j % width, j / width].R;
NewColor.G = allcolor[j % width, j / width].G;
NewColor.B = allcolor[j % width, j / width].B;
}
m_3dChart[j].color = NewColor;
}


大功告成。
在WPF中将图片转换成3D图像并可以旋转的更多相关文章
- ASP.Net中实现上传过程中将文本文件转换成PDF的方法
iTextSharp是一个常用的PDF库,我们可以使用它来创建.修改PDF文件或对PDF文件进行一些其他额外的操作.本文讲述了如何在上传过程中将文本文件转换成PDF的方法. 基本工作 在开始之前,我们 ...
- [转]C#将image中的显示的图片转换成二进制
本文转自:http://www.cnblogs.com/shuang121/archive/2012/07/09/2582654.html .将Image图像文件存入到数据库中 我们知道数据库里的Im ...
- 小tip: 使用CSS将图片转换成模糊(毛玻璃)效果
去年盛夏之时,曾写过“小tip: 使用CSS将图片转换成黑白”一文,本文的模式以及内容其实走得是类似路线.CSS3 → SVG → IE filter → canvas. 前段时间,iOS7不是瓜未熟 ...
- ABBYY如何把图片转换成pdf格式
在制作工作文件的时候,有时候会遇到需要进行文件格式转换的情况,比较常见的文件格式转换就包含了Office与pdf格式之间的转换.但除此之外,图片与pdf格式也是可以进行转换的,那么图片要怎么操作,才能 ...
- [转] 小tip: 使用CSS将图片转换成模糊(毛玻璃)效果 ---张鑫旭
by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=3804 去年盛夏之时, ...
- C#将image中的显示的图片转换成二进制
原文:C#将image中的显示的图片转换成二进制 1.将Image图像文件存入到数据库中 我们知道数据库里的Image类型的数据是"二进制数据",因此必须将图像文件转换成字节数组才 ...
- jpg、png格式的图片转换成webp后颜色失真的问题
今天简单的试用了一下 cweb.exe 将 jpg, png 格式的图片转换成 webp 格式. 我今天下载的是当前最新版:1.0.0 cwebp 3.jpg -q 85 -o 3.webp 发现图 ...
- java 图片转换成base64字符串
import java.io.ByteArrayOutputStream; import java.io.FileInputStream;import java.io.FileOutputStream ...
- centos下 将(jgp、png)图片转换成webp格式
由于项目要求需要将jpg.png类型的图片 转换成webp格式,最开始使用了php gd类库里 imagewebp 方法实现,结果发现转换成的webp格式文件会偶尔出现空白内容的情况.像创建了一个透 ...
随机推荐
- windows 与 Linux SOCKET通讯
windows client 端口 // Def_win_client_socket_test.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" ...
- 修改电脑自动休眠时间win10
https://jingyan.baidu.com/article/adc81513a481cdf723bf73e6.html
- Spark学习笔记-GraphX-1
Spark学习笔记-GraphX-1 标签: SparkGraphGraphX图计算 2014-09-29 13:04 2339人阅读 评论(0) 收藏 举报 分类: Spark(8) 版权声明: ...
- 很漂亮的IP头格式
IP数据包格式 TCP/IP协议定义了一个在因特网上传输的包,称为IP数据报(IP Datagram).这是一个与硬件无关的虚拟包,由首部和数据两部分组成.首部的前一部分是固定长度,共 20 字节,是 ...
- OneZero第三周第二次站立会议(2016.4.5)
1. 时间: 13:00--13:15 共计15分钟. 2. 成员: X 夏一鸣 * 组长 (博客:http://www.cnblogs.com/xiaym896/), G 郭又铭 (博客:http ...
- java学习第四周
这是暑假第四周,这周我继续学习了Java的基础知识. 了解到Java的类继承,学习到Java的接口的相关知识Java的每一个类都有且仅有一个直接父类,没有多重继承,但是接口可以继承多个,如果把接口看做 ...
- 使用注解配置 AOP
一.使用注解(基于Aspect) 1.spring不会自动去寻找注解,必须告诉spring那个包下的类有注解 1.1 先引入xmlns:context命名空间 <context:componen ...
- OpenCV+VisualStudion2017配置
1.创建工程 Ctrl+Shift+n 2.创建.cpp文件 Ctrl+Shift+a 3.打开属性管理器 视图->其他窗口->属性管理器 Debug64右键 属性 4.添加包含目录 VC ...
- 第1章 Python数据模型
#<流畅的Python>读书笔记 # 第一部分 序幕 # 第1章 Python数据模型 # 魔术方法(magic method)是特殊方法的昵称.于是乎,特殊方法也叫双下方法(dunder ...
- Jquery 的ajax里边不能识别$(this)
确实不能用,在ajax外面弄个变量$this= $(this),然后在里面用就行了 在jQuery使用ajax后$(this)失效,原因很简单,$(this)指向的是最近调用它的jquery对象,即$ ...