mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-05-01 21:41:28 +08:00
block
This commit is contained in:
@@ -192,5 +192,46 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string ToBase64String(this BitmapImage bitmap)
|
||||||
|
{
|
||||||
|
byte[] bytearray = null;
|
||||||
|
Stream smarket = bitmap.StreamSource;
|
||||||
|
if (smarket != null && smarket.Length > 0)
|
||||||
|
{
|
||||||
|
//设置当前位置
|
||||||
|
smarket.Position = 0;
|
||||||
|
using (BinaryReader br = new BinaryReader(smarket))
|
||||||
|
{
|
||||||
|
bytearray = br.ReadBytes((int)smarket.Length);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return Convert.ToBase64String(bytearray);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static BitmapImage ToBitmapImage(this string base64String, int width = 0, int height =0)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(base64String))
|
||||||
|
return null;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var byteArray = Convert.FromBase64String(base64String);
|
||||||
|
BitmapImage bitmapImage = null;
|
||||||
|
bitmapImage = new BitmapImage();
|
||||||
|
bitmapImage.BeginInit();
|
||||||
|
bitmapImage.CreateOptions = BitmapCreateOptions.IgnoreColorProfile;
|
||||||
|
bitmapImage.CacheOption = BitmapCacheOption.OnLoad;
|
||||||
|
bitmapImage.DecodePixelWidth = width;//需要缩略图的解码宽度
|
||||||
|
bitmapImage.DecodePixelHeight = height;//缩略图的解码高度
|
||||||
|
bitmapImage.StreamSource = new MemoryStream(byteArray);
|
||||||
|
bitmapImage.EndInit();
|
||||||
|
|
||||||
|
return bitmapImage;
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ using System.Text;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
|
using System.Windows.Media.Imaging;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
using System.Xml.Serialization;
|
using System.Xml.Serialization;
|
||||||
|
|
||||||
@@ -646,6 +647,23 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
return new Matrix(double.Parse(pieces[0]), double.Parse(pieces[1]), double.Parse(pieces[2]), double.Parse(pieces[3]), double.Parse(pieces[4]), double.Parse(pieces[5]));
|
return new Matrix(double.Parse(pieces[0]), double.Parse(pieces[1]), double.Parse(pieces[2]), double.Parse(pieces[3]), double.Parse(pieces[4]), double.Parse(pieces[5]));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string SerializeBitmapImage(BitmapImage bitmapImage)
|
||||||
|
{
|
||||||
|
return bitmapImage.ToBase64String();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static BitmapImage DeserializeBitmapImage(string bitmapImagestring)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return bitmapImagestring.ToBitmapImage();
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static string SerializeObject(object obj, string serializableType = null)
|
public static string SerializeObject(object obj, string serializableType = null)
|
||||||
{
|
{
|
||||||
if (serializableType?.ToLower() == ".xml")
|
if (serializableType?.ToLower() == ".xml")
|
||||||
|
|||||||
Reference in New Issue
Block a user