图像 - 创建 头像V1.0
byte[] logo
//处理群头像信息
//byte[] logoByte = Convert.FromBase64String(logo);
////1.0
System.IO.MemoryStream mstream = new System.IO.MemoryStream(logo);
//1.1
System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(mstream);
//1.2
bitmap.PixelFormat.GetType();
//1.3
logoImg = qun.ID + "qunImg" + DateTime.Now.ToString("yyyymmddhhmmss") + DateTime.Now.Millisecond + ".jpg";
//1.4
bitmap.Save(Qun_Logo_IMG_SAVE_URL, System.Drawing.Imaging.ImageFormat.Jpeg);
/// <summary>
/// 上传图片
/// </summary>
/// <param name="type">图片类型</param>
/// <param name="bytesStr">图片流</param>
/// <returns></returns>
public string UploadImg(int type, String bytesStr)
{
//取到服务器路径
//string pathTemp = System.Web.HttpContext.Current.Request.PhysicalApplicationPath;
//int index = pathTemp.LastIndexOf("\\");
//pathTemp = pathTemp.Substring(0, index + 1);
String ImgStr = CommonUtility.ApplicationPath + "Images";
//string ImgStr = Server.MapPath("~\Images");
//string ImgStr = "..\Images";
//如果不存在路径
if (!Directory.Exists(ImgStr))
{
//创建图片路径
Directory.CreateDirectory(ImgStr);
}
//定义流
MemoryStream ms = null;
//返回结果
String result = "";
//定义图片
Bitmap bmp = null;
try
{
//解析图片流
//FileStream ifs = new FileStream(txtFileName, FileMode.Open, FileAccess.Read);
//StreamReader sr = new StreamReader(ifs);
//String inputStr = sr.ReadToEnd();
byte[] arr = Convert.FromBase64String(bytesStr);
ms = new MemoryStream(arr);
bmp = new Bitmap(ms);
}
catch (Exception ex)
{
return null;
}
//执行日期
DateTime dt = DateTime.Now;
String dateStr = dt.ToString("yyyyMMdd");
//判断上传图片类型
//贴图图片
if (type == 1)
{
string qunImgStr = ImgStr + "\\qunImg";
//如果不存在路径
if (!Directory.Exists(qunImgStr))
{
//创建图片路径
Directory.CreateDirectory(qunImgStr);
}
//今日文件夹
string dateQunImgStr = qunImgStr + "\\" + dateStr;
//如果不存在路径
if (!Directory.Exists(dateQunImgStr))
{
//创建图片路径
Directory.CreateDirectory(dateQunImgStr);
}
string imgname = dt.ToString("yyyyMMddHHmmssffffff") + "_" + bytesStr.Length.ToString() + "_" + type.ToString() + ".jpg";
string imgurl = dateQunImgStr + "\\" + imgname;
try
{
bmp.Save(imgurl, System.Drawing.Imaging.ImageFormat.Jpeg);
}
catch (Exception ex)
{
return null;
}
result = "Images/qunImg/" + dateStr + "/" + imgname;
}
//头像图片
else
{
string iconImgStr = ImgStr + "\\iconImg";
//如果不存在路径
if (!Directory.Exists(iconImgStr))
{
//创建图片路径
Directory.CreateDirectory(iconImgStr);
}
//今日文件夹
string dateIconImgStr = iconImgStr + "\\" + dateStr;
//如果不存在路径
if (!Directory.Exists(dateIconImgStr))
{
//创建图片路径
Directory.CreateDirectory(dateIconImgStr);
}
string imgname = dt.ToString("yyyyMMddHHmmssffffff") + "_" + bytesStr.Length.ToString() + "_" + type.ToString() + ".jpg";
string imgurl = dateIconImgStr + "\\" + imgname;
try
{
bmp.Save(imgurl, System.Drawing.Imaging.ImageFormat.Jpeg);
}
catch (Exception ex)
{
return null;
}
result = "Images/iconImg/" + dateStr + "/" + imgname;
}
if (ms != null)
{
ms.Close();
}
return result;
}
//测试方法
public string getimgbase64(string path)
{
try
{
Bitmap bmp = new Bitmap(path);
MemoryStream ms = new MemoryStream();
bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] arr = new byte[ms.Length];
ms.Position = 0;
ms.Read(arr, 0, (int)ms.Length);
ms.Close();
String img = Convert.ToBase64String(arr);
return this.UploadImg(1, img);
}
catch (Exception ex)
{
return null;
}
}
#endregion
Test
PicUploadTest
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="PicUploadTest.aspx.cs" Inherits="WebService.PicUploadTest" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
<br />
<br />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
<br />
<br />
<br />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<br />
<br />
</div>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using RSAIF.BLL.IServiceBLL;
using RSAIF.BLL.ServiceBLL;
using System.Drawing;
using System.IO;
namespace WebService
{
public partial class PicUploadTest : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
string filepath = FileUpload1.PostedFile.FileName;
string filename = filepath.Substring(filepath.LastIndexOf("//") + 1);
var path = Server.MapPath("~/images/test/") + filename;
FileUpload1.PostedFile.SaveAs(path);
//上传图片
UploadManage model = new UploadManage();
try
{
Bitmap bmp = new Bitmap(path);
MemoryStream ms = new MemoryStream();
bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] arr = new byte[ms.Length];
ms.Position = 0;
ms.Read(arr, 0, (int)ms.Length);
ms.Close();
String img = Convert.ToBase64String(arr);
Label1.Text = model.UploadImg(1, img);
}
catch (Exception ex)
{
Label1.Text = ex.Message;
}
//model.UploadImg(2, path);
//model.getimgbase64(path);
}
}
}
图像 - 创建 头像V1.0的更多相关文章
- .Net Core .Net Core V1.0 创建MVC项目
.Net Core V1.0 创建MVC项目 创建MVC项目有两种方式: 一.创建Web项目:(有太多没用的东西要去删太麻烦) 2.项目目录结构: 此种方法要注意的是,会创建好多个json文件,下面就 ...
- 【JS】heatmap.js v1.0 到 v2.0,详细总结一下:)
前段时间,项目要开发热力图插件,研究了heatmap.js,打算好好总结一下. 本文主要有以下几部分内容: 部分源码理解 如何迁移到v2.0 v2.0官方文档译文 关于heatmap.js介绍,请看这 ...
- ZXing工具类v1.0
package com.jadyer.util; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import jav ...
- Rookey.Frame v1.0快速开发平台-整体介绍
Rookey.Frame v1.0是一套基于.NET MVC的极速开发框架,支持简单逻辑模块零代码编程.支持二次开发,具有高扩展性.高复用性.高伸缩性. 框架特点 (1)简单逻辑模块实现零代码编程,通 ...
- Canvas绘制不规则图形,实现可拖动,编辑--V1.0第一篇
目前的工作在做在线的标注工具,接触canvas一年了,各种绘制,基本上图像的交互canvas都可以完成,也写了几篇关于canvas的文章,遇到的问题也写博客上了,对于canvas有问题的朋友可以去看看 ...
- 熊海CMS xhcms v1.0代码审计
有空的时候就进行小型CMS的代码审计,这次审计的对象是熊海CMS v1.0 本地环境安装好了之后,可以看到提示安装了锁文件 说明重装漏洞应该不会存在了,这时候丢进seay代码审计系统的代码也出结果了, ...
- ASP.NET Boilerplate终于发布v1.0了
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:ABP经过2年多的开发,终于发布第一个主要版本了,谨此提醒ABP的使用者. ASP.N ...
- .net下灰度模式图像在创建Graphics时出现:无法从带有索引像素格式的图像创建graphics对象 问题的解决方案。
在.net下,如果你加载了一副8位的灰度图像,然后想向其中绘制一些线条.或者填充一些矩形.椭圆等,都需要通过Grahpics.FromImage创建Grahphics对象,而此时会出现:无法从带有索引 ...
- 基于Qt5.5.0的sql数据库、SDK_tts文本语音朗读的CET四六级单词背诵系统软件的编写V1.0
作者:小波 QQ:463431476 请关注我的博客园:http://www.cnblogs.com/xiaobo-Linux/ 我的第二款软件:CET四六级单词背诵软件.基于QT5.5.0.sql数 ...
随机推荐
- Direct2D DirectWrite绘制文字
绘制文本使用DirectWrite: 为了简化 DirectWrite 的使用,RenderTarget有3个方法可以直接绘制文本: DrawText,用于简单绘制,支持Unicode. DrawTe ...
- Objective-C实现计算你写了多少行代码
#import <Foundation/Foundation.h> NSInteger codeLineCount(NSString *path) { //1.获取文件管理者,这是一个单例 ...
- 补丁惹的祸-ContractName Microsoft.VisualStudio.Text.ITextDocumentFactoryService
未找到与约束ContractName Microsoft.VisualStudio.Text.ITextDocumentFactoryService...匹配的导出 问题: 重新安装了VS2012,结 ...
- TensorFlow深度学习笔记 循环神经网络实践
转载请注明作者:梦里风林 Github工程地址:https://github.com/ahangchen/GDLnotes 欢迎star,有问题可以到Issue区讨论 官方教程地址 视频/字幕下载 加 ...
- Nginx 配置指令的执行顺序(四)
ngx_lua 模块提供了配置指令 access_by_lua,用于在 access 请求处理阶段插入用户 Lua 代码.这条指令运行于 access 阶段的末尾,因此总是在 allow 和 deny ...
- centos 安装amp 运行环境+配置虚拟地址
一.安装 MySQL 首先来进行 MySQL 的安装.打开超级终端,输入: [root@localhost ~]# yum install mysql mysql-server 安装完毕,让 MySQ ...
- C# 动态语言特性,dynamic 关键字研究
1 动态语言简介 支持动态特性的语言现在大行其道,并且有继续增长的趋势.比如 Ruby 和 Python, 还有天王级的巨星 --- JavaScript. 现在一个程序员说自己对 Jav ...
- Mysql ORM工具--MicrobeORM.Mysql开源咯
MicrobeORM.Mysql 补充:为啥批批量比官方的ADO.NET还快,原因是这俩货 System.EnterpriseServices.dllSystem.EnterpriseServices ...
- thinkphp中的where()方法
where方法的用法是ThinkPHP查询语言的精髓,也是ThinkPHP ORM的重要组成部分和亮点所在,可以完成包括普通查询.表达式查询.快捷查询.区间查询.组合查询在内的查询操作.where方法 ...
- 线性表之顺序表(C语言实现)
线性表是从数据元素的逻辑结构上定义的. 这种数据元素的逻辑结构的特征如下: 1.除开第一个和最后一个元素之外.所有元素都有一个前驱元素和后继元素. 2.第一个元素无前驱元素,但有后继元素. 3.最后一 ...