优化程序 增加功能

This commit is contained in:
liufei
2021-05-14 16:48:26 +08:00
parent ef7cb465a1
commit de31210f37
16 changed files with 719 additions and 205 deletions

View File

@@ -7,7 +7,7 @@ namespace GeekDesk.ViewModel
{
[Serializable]
public class AppConfig : System.ComponentModel.INotifyPropertyChanged
public class AppConfig : INotifyPropertyChanged
{
private int menuSortType = (int)SortType.CUSTOM; //菜单排序类型
private int iconSortType = (int)SortType.CUSTOM; //图表排序类型

View File

@@ -6,7 +6,7 @@ using System.ComponentModel;
namespace GeekDesk.ViewModel
{
[Serializable]
class AppData : INotifyPropertyChanged
public class AppData : INotifyPropertyChanged
{
private ObservableCollection<MenuInfo> menuList = new ObservableCollection<MenuInfo>();
private AppConfig appConfig = new AppConfig();

View File

@@ -1,4 +1,5 @@
using GeekDesk.Constant;
using GeekDesk.Util;
using System;
using System.ComponentModel;
using System.IO;
@@ -16,8 +17,38 @@ namespace GeekDesk.ViewModel
private BitmapImage bitmapImage; //位图
private byte[] imageByteArr; //图片 base64
private string content; //显示信息
private int imageWidth = (int)DefaultConstant.IMAGE_WIDTH;
private int imageHeight = (int)DefaultConstant.IMAGE_HEIGHT;
private int imageWidth = (int)DefaultConstant.IMAGE_WIDTH; //图片宽度
private int imageHeight = (int)DefaultConstant.IMAGE_HEIGHT; //图片高度
private bool adminStartUp = false; //始终管理员方式启动 默认否
private byte[] defaultImage;
public byte[] DefaultImage
{
get
{
return defaultImage;
}
set
{
defaultImage = value;
OnPropertyChanged("DefaultImage");
}
}
public bool AdminStartUp
{
get
{
return adminStartUp;
}
set
{
adminStartUp = value;
OnPropertyChanged("AdminStartUp");
}
}
public int Count
{
@@ -66,12 +97,12 @@ namespace GeekDesk.ViewModel
get
{
return ToImage(ImageByteArr);
return ImageUtil.ByteArrToImage(ImageByteArr);
}
set
{
bitmapImage = value;
ImageByteArr = getJPGFromImageControl(bitmapImage);
ImageByteArr = ImageUtil.BitmapImageToByte(bitmapImage);
OnPropertyChanged("BitmapImage");
}
}
@@ -140,29 +171,6 @@ namespace GeekDesk.ViewModel
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
public BitmapImage ToImage(byte[] array)
{
using (var ms = new System.IO.MemoryStream(array))
{
var image = new BitmapImage();
image.BeginInit();
image.CacheOption = BitmapCacheOption.OnLoad; // here
image.StreamSource = ms;
image.EndInit();
return image;
}
}
public byte[] getJPGFromImageControl(BitmapImage bi)
{
using (MemoryStream memStream = new MemoryStream())
{
PngBitmapEncoder encoder = new PngBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(bi));
encoder.Save(memStream);
return memStream.GetBuffer();
}
}
}
}

View File

@@ -11,7 +11,7 @@ namespace GeekDesk.ViewModel
{
[Serializable]
class MenuInfo : INotifyPropertyChanged
public class MenuInfo : INotifyPropertyChanged
{