求救啊高手求解答!!!!base64转image

风吹腚腚凉 2016-03-09 04:59:27
用的方法
public static Image Base64ToImage(string strbase64)
{
//string base64Str = "图片的BASE64字符串";
byte[] bytes = System.Convert.FromBase64String(strbase64.Replace("data:image/png;base64,", ""));
using (System.IO.MemoryStream ms = new System.IO.MemoryStream(bytes))
{
return System.Drawing.Image.FromStream(ms);
}


}



前面那个图片是转换后的,后面是转换前的。
我就是测试,女的丑了点。。。。不要在意。
仔细看头发那里图形断裂了,请问为什么啊
...全文
320 14 打赏 收藏 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
socg 2016-03-10
  • 打赏
  • 举报
回复
也许图片本身不是png,被你转换成png了 return System.Convert.ToBase64String(ImageToBytes(s, System.Drawing.Imaging.ImageFormat.Png)); 改成 return System.Convert.ToBase64String(ImageToBytes(s,s.RawFormat));
风吹腚腚凉 2016-03-10
  • 打赏
  • 举报
回复
我是这样做的,从H5里面拿到的一个BASE64,到服务器端转换成image,然后那个image就有点问题。 我是找到的原图看的,不是加载后拉伸不拉伸看的。 图像大的话,你不仔细看,就看不出来。但是我用的是119*119的小图就感觉有点小模糊。
风吹腚腚凉 2016-03-10
  • 打赏
  • 举报
回复
引用 12 楼 tanta 的回复:
pictureBox1.Image = Bitmap.FromFile(ofd.FileName); pictureBox2.Image = server.base64(server.base64(new Bitmap(Bitmap.FromFile(ofd.FileName)))); ===================================== 传输过程应该没问题 , 我觉得问题在这儿。两个picturebox大小不一致,导致图像在picturebox中被拉伸。
没有啊一样的啊,你们测试一下看看?
tanta 2016-03-10
  • 打赏
  • 举报
回复
pictureBox1.Image = Bitmap.FromFile(ofd.FileName); pictureBox2.Image = server.base64(server.base64(new Bitmap(Bitmap.FromFile(ofd.FileName)))); ===================================== 传输过程应该没问题 , 我觉得问题在这儿。两个picturebox大小不一致,导致图像在picturebox中被拉伸。
tcmakebest 2016-03-09
  • 打赏
  • 举报
回复
为了避免显示问题造成误解,楼主不妨把两张图的显示位置交换一下,就楼主的代码不存在图片被修改的问题.
yanran_hill 2016-03-09
  • 打赏
  • 举报
回复
问题的关键是数据是否正确还原,那样的话,你直接按字节比对看看,,把MemoryStream复制成FileStream,使用notepad++打开十六进制文件看内容,再确定是哪儿出的问题
风吹腚腚凉 2016-03-09
  • 打赏
  • 举报
回复
引用 3 楼 starfd 的回复:
是不是只是因为显示的方式不同,你将两种方式在同一个界面进行对比呢,然后你还需要确认下转换出来的字符串是一致的吗
图肯定不一样了。
「已注销」 2016-03-09
  • 打赏
  • 举报
回复
根据楼上说的情况。 那就是可能你获得的标签大小与实际图片大小不符合。 以至于保存图片的时候拉伸了。
Poopaye 2016-03-09
  • 打赏
  • 举报
回复
很明显拉伸过了
「已注销」 2016-03-09
  • 打赏
  • 举报
回复




public static string base64(Bitmap s)
{
return System.Convert.ToBase64String(ImageToBytes(s, System.Drawing.Imaging.ImageFormat.Png));
}

static byte[] ImageToBytes(Bitmap Image, System.Drawing.Imaging.ImageFormat imageFormat)
{
if (Image == null) { return null; }
byte[] data = null;
using (MemoryStream ms = new MemoryStream())
{
using (Bitmap Bitmap = Image)
{
Bitmap.Save(ms, imageFormat);
ms.Position = 0;
data = new byte[ms.Length];
ms.Read(data, 0, Convert.ToInt32(ms.Length));
ms.Flush();
}
}
return data;
}

public static Bitmap base64(string s)
{
return new Bitmap(byteArrayToImage(System.Convert.FromBase64String(s)));
}
static System.Drawing.Image byteArrayToImage(byte[] byteArrayIn)
{
if (byteArrayIn == null)
return null;
using (System.IO.MemoryStream ms = new System.IO.MemoryStream(byteArrayIn))
{
System.Drawing.Image returnImage = System.Drawing.Image.FromStream(ms);
ms.Flush();
return returnImage;
}
}

OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "图片|*.png;*.jpg;*.bmp;*.gif|所有文件|*.*";
ofd.ShowDialog();
if (string.IsNullOrEmpty(ofd.FileName))
return;

pictureBox1.Image = Bitmap.FromFile(ofd.FileName);

pictureBox2.Image = server.base64(server.base64(new Bitmap(Bitmap.FromFile(ofd.FileName))));



我这样用的。
Poopaye 2016-03-09
  • 打赏
  • 举报
回复
左边那张高度119,右边117
  • 打赏
  • 举报
回复
是不是只是因为显示的方式不同,你将两种方式在同一个界面进行对比呢,然后你还需要确认下转换出来的字符串是一致的吗
  • 打赏
  • 举报
回复
你是按愿格式愿比例导出的么?
风吹腚腚凉 2016-03-09
  • 打赏
  • 举报
回复
右边眼睛那也有点问题
【实际-有功-无功控制器的动态性能】【两级电压源变流器VSC】【采用电流控制的实际无功功率控制器】【利用阿尔法-贝塔转换进行电流反馈】(Simulink仿真实现)内容概要:本文基于Simulink仿真平台,研究了两级电压源变流器(VSC)中实际有功与无功控制器的动态性能,重点实现了采用电流控制策略的无功功率控制器,并结合阿尔法-贝塔(α-β)坐标变换进行电流反馈控制。通过构建完整的VSC控制系统模型,分析了有功与无功功率的解耦控制机理,探讨了在不同工况下控制器对功率动态响应的调节能力,验证了电流闭环控制在提升系统稳定性与动态性能方面的有效性。该仿真模型可用于微电网、HVDC等电力电子系统的控制器设计与优化。; 适合人群:电力电子、电气工程及其自动化等相关专业的研究人员、研究生及从事新能源并网、微电网控制的工程技术人员。; 使用场景及目标:①研究电压源变流器在有功/无功功率独立调控中的控制策略;②掌握基于α-β变换的电流反馈控制方法及其在Simulink中的建模与仿真技巧;③为构网型逆变器、微电网能量管理等实际工程项目提供控制器设计参考。; 阅读建议:建议读者结合Simulink仿真环境动手复现模型,重点关注电流环设计、坐标变换模块实现以及功率解耦控制的效果,通过调整控制器参数观察系统动态响应变化,深化对VSC控制原理的理解。
内容概要:斯普莱WFS7000S52AX是一款支持2.4G/5.8G双频段的工业级WiFi6无线车载AP,符合802.11a/b/g/n/ac/ax标准,采用4T4R MIMO架构,支持OFDMA、FastRoaming等先进技术,最大传输速率可达2974Mbps,具备超远覆盖能力(可达3000米以上)和≤1ms通信延迟。设备支持宽电压11-30V DC或POE供电,具备IP68防护等级和-45~85℃宽温工作能力,通过EMC、防雷浪涌、高低温等多项权威认证,适用于恶劣环境下的稳定运行。产品集成多种网络安全与管理功能,如VLAN、QoS、VPN、防火墙、巨量安全隧道、SNMP、SSH及多模式认证,并支持本地或云端集中管理、API对接和图形化配置,广泛应用于智慧物流、工业4.0、AGV/AMR小车、智能驾培、车载船载视频传输等场景。; 适合人群:从事工业无线网络建设、物联网系统集成、智能交通与物流自动化领域的工程师和技术人员,以及需要高可靠性无线通信解决方案的研发和运维人员。; 使用场景及目标:①实现复杂电磁环境下稳定高效的无线桥接与全覆盖;②满足高速移动设备(如AGV、穿梭车、无人机)的低延迟、零丢包漫游需求;③构建高安全、可远程集中管理的大规模工业无线网络; 阅读建议:本文档技术参数详实,建议结合具体项目需求重点查阅射频性能、供电方式、防护等级及软件功能配置部分,并参考官方云平台和API接口文档进行系统集成与调试。
内容概要:本文介绍了WiFiSupply斯普莱WFS7000AN 5GHz全频段300M电信工业级分体式无线网桥的产品特性、技术参数及广泛应用场景。该设备支持TDMA时分多址技术,具备强抗干扰能力、通信延迟≤1ms、最大发射功率27dBm/500mW、接收灵敏度达-96dBm,并采用MIMO 2T2R架构,支持4920-6100MHz全频段,单频带宽可达300Mbps,点对点实际吞吐量超过150Mbps。产品支持多种工作模式(如PTP、PTMP、WDS、Mesh等),具备IP68防护等级,可在-45~85℃极端环境下稳定运行,支持宽电压POE(9-36V)或DC供电,适用于远距离无线桥接与覆盖。其核心优势包括高带宽、高稳定性、超强抗干扰、快速无缝漫游、多重加密与安全隧道功能,并支持SNMP、SSH、API对接等远程管理协议。; 适合人群:从事工业无线通信、网络工程、智慧交通、智能制造等领域,具备一定网络基础知识的技术人员或系统集成商。; 使用场景及目标:①用于智慧交通、智慧物流、森林防火、工业4.0等复杂电磁与恶劣气候环境下的无线网络建设;②实现AMR/AGV小车、无人机、车载、船载等移动设备的高速低延时无线连接与视频传输;③构建远距离点对点或点对多点无线链路,最长传输距离可达150公里以上;④支持与第三方平台对接,实现集中化、智能化运维管理。; 阅读建议:此文档技术参数详实,建议结合具体项目需求重点查阅频段、功率、防护等级、协议支持及管理方式等内容,并参考权威认证信息确保产品合规性与可靠性。

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧