Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
V
VIZ.Package
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
刘龙飞
VIZ.Package
Commits
d9f016be
Commit
d9f016be
authored
Mar 24, 2023
by
wangonghui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
媒体资源库添加查看和编辑图片修改
parent
a261c56c
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
212 additions
and
30 deletions
+212
-30
VIZ.Package.Module/Resource/MediaResource/Controller/MediaResourceFileController.cs
+37
-25
VIZ.Package.Module/Resource/MediaResource/Controller/ThumbnailHelper.cs
+19
-0
VIZ.Package.Module/Resource/MediaResource/ImageCut/ImageDealerUnsafe.xaml.cs
+1
-1
VIZ.Package.Module/Resource/MediaResource/ImageCut/ImageShowWindow.xaml
+16
-0
VIZ.Package.Module/Resource/MediaResource/ImageCut/ImageShowWindow.xaml.cs
+30
-0
VIZ.Package.Module/Resource/MediaResource/View/MediaResourcePanel.xaml
+1
-1
VIZ.Package.Module/Resource/MediaResource/View/MediaResourceView.xaml
+3
-1
VIZ.Package.Module/Resource/MediaResource/ViewModel/ImageShowViewModel.cs
+49
-0
VIZ.Package.Module/Resource/MediaResource/ViewModel/MediaResourcePanelViewModel.cs
+47
-2
VIZ.Package.Module/Resource/MediaResource/ViewModel/MediaResourceViewModel.cs
+1
-0
VIZ.Package.Module/VIZ.Package.Module.csproj
+8
-0
No files found.
VIZ.Package.Module/Resource/MediaResource/Controller/MediaResourceFileController.cs
View file @
d9f016be
...
...
@@ -3,6 +3,7 @@ using System;
using
System.Collections.Generic
;
using
System.Configuration
;
using
System.Drawing
;
using
System.IO
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
...
...
@@ -77,7 +78,7 @@ namespace VIZ.Package.Module
try
{
MHResourceFileModel
GHFile
=
new
MHResourceFileModel
();
if
(
ThumbnailHelper
.
IsImageByName
(
file
.
fileName
))
if
(
ThumbnailHelper
.
IsImageByName
(
file
.
fileName
)
||
ThumbnailHelper
.
IsVideo
(
file
.
fileName
)
)
{
GHFile
.
Name
=
file
.
fileName
;
GHFile
.
Path
=
file
.
smallIconUrl
;
...
...
@@ -88,21 +89,32 @@ namespace VIZ.Package.Module
log
.
Info
(
"后去图片结束"
);
GHFile
.
FileType
=
ResourceFileType
.
IMAGE
;
if
(
ThumbnailHelper
.
IsImageByName
(
file
.
fileName
))
{
GHFile
.
FileType
=
ResourceFileType
.
IMAGE
;
}
else
{
GHFile
.
FileType
=
ResourceFileType
.
VIDEO
;
}
GHFile
.
Date
=
Convert
.
ToDateTime
(
file
.
fileUpdateTime
).
ToString
(
"yyyy/MM/dd HH:mm"
);
GHFile
.
FileSize
=
file
.
fileSize
;
Image
img
=
Image
.
FromStream
(
fileResult
);
// img = ThumbnailHelper.GetThumbnail(img, img.Width / 2, img.Height / 2);
if
(
ThumbnailHelper
.
IsVideo
(
fileResult
))
{
Image
img
=
Image
.
FromStream
(
fileResult
);
//Bitmap originBmp = new Bitmap(img
);
// img = ThumbnailHelper.GetThumbnail(img, img.Width / 2, img.Height / 2
);
GHFile
.
OriginThumbnailBitmap
=
img
;
//Bitmap originBmp = new Bitmap(img)
;
//缩略图
//img = ThumbnailHelper.GetThumbnail(img, img.Width / 2, img.Height / 2);
Bitmap
bmp
=
new
Bitmap
(
img
);
GHFile
.
ThumbnailBitmap
=
bmp
;
GHFile
.
OriginThumbnailBitmap
=
img
;
//缩略图
//img = ThumbnailHelper.GetThumbnail(img, img.Width / 2, img.Height / 2);
Bitmap
bmp
=
new
Bitmap
(
img
);
GHFile
.
ThumbnailBitmap
=
bmp
;
}
list
.
Add
(
GHFile
);
...
...
@@ -111,21 +123,21 @@ namespace VIZ.Package.Module
log
.
Info
(
"图片处理"
);
}
else
if
(
ThumbnailHelper
.
IsVideo
(
file
.
fileName
))
{
GHFile
.
Name
=
file
.
fileName
;
GHFile
.
Path
=
file
.
smallIconUrl
;
GHFile
.
FileType
=
ResourceFileType
.
VIDEO
;
GHFile
.
Date
=
Convert
.
ToDateTime
(
file
.
fileUpdateTime
).
ToString
(
"yyyy/MM/dd HH:mm"
);
GHFile
.
FileSize
=
file
.
fileSize
;
string
strVedioPath
=
string
.
Format
(
"{0}{1}"
,
System
.
Environment
.
CurrentDirectory
,
"\\Resources\\Vedio.jpeg"
);
Image
vedioImage
=
Image
.
FromFile
(
strVedioPath
);
vedioImage
=
ThumbnailHelper
.
GetThumbnail
(
vedioImage
,
vedioImage
.
Width
/
2
,
vedioImage
.
Height
/
2
);
Bitmap
vedioBtm
=
new
Bitmap
(
vedioImage
);
GHFile
.
ThumbnailBitmap
=
vedioBtm
;
GHFile
.
FileType
=
ResourceFileType
.
VIDEO
;
list
.
Add
(
GHFile
);
}
//
else if (ThumbnailHelper.IsVideo(file.fileName))
//
{
//
GHFile.Name = file.fileName;
//
GHFile.Path = file.smallIconUrl;
//
GHFile.FileType = ResourceFileType.VIDEO;
//
GHFile.Date = Convert.ToDateTime(file.fileUpdateTime).ToString("yyyy/MM/dd HH:mm");
//
GHFile.FileSize = file.fileSize;
//
string strVedioPath = string.Format("{0}{1}", System.Environment.CurrentDirectory, "\\Resources\\Vedio.jpeg");
//
Image vedioImage = Image.FromFile(strVedioPath);
//
vedioImage = ThumbnailHelper.GetThumbnail(vedioImage, vedioImage.Width / 2, vedioImage.Height / 2);
//
Bitmap vedioBtm = new Bitmap(vedioImage);
//
GHFile.ThumbnailBitmap = vedioBtm;
//
GHFile.FileType = ResourceFileType.VIDEO;
//
list.Add(GHFile);
//
}
i
++;
}
catch
(
Exception
ex
)
...
...
VIZ.Package.Module/Resource/MediaResource/Controller/ThumbnailHelper.cs
View file @
d9f016be
...
...
@@ -177,6 +177,25 @@ namespace VIZ.Package.Module
return
isVideo
;
}
/// <summary>
/// 判断是否为视频流
/// </summary>
/// <param name="stream"></param>
/// <returns></returns>
public
static
bool
IsVideo
(
Stream
stream
)
{
try
{
Image
img
=
Image
.
FromStream
(
stream
);
return
true
;
}
catch
(
Exception
ex
)
{
return
false
;
}
}
/// <summary>
/// 从完整路径中查找文件或文件夹名称
/// </summary>
...
...
VIZ.Package.Module/Resource/MediaResource/ImageCut/ImageDealerUnsafe.xaml.cs
View file @
d9f016be
...
...
@@ -354,7 +354,7 @@ namespace VIZ.Package.Module
double
ImageAreaHeight
=
this
.
ImageArea
.
ActualHeight
;
//裁剪区域理论位置
RectangleAreaModel
Model
=
this
.
CalculatedArea
(
MousePoint
,
tru
e
);
RectangleAreaModel
Model
=
this
.
CalculatedArea
(
MousePoint
,
fals
e
);
if
(
Model
!=
null
)
{
//不能超出边界区域
...
...
VIZ.Package.Module/Resource/MediaResource/ImageCut/ImageShowWindow.xaml
0 → 100644
View file @
d9f016be
<dx:ThemedWindow
x:Class="VIZ.Package.Module.ImageShowWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
Title="查看图片" Height="400" Width="500">
<Grid>
<StackPanel>
<Image Source="{Binding ShowImage,Mode=TwoWay}" Height="380" Width="500" />
</StackPanel>
</Grid>
</dx:ThemedWindow>
VIZ.Package.Module/Resource/MediaResource/ImageCut/ImageShowWindow.xaml.cs
0 → 100644
View file @
d9f016be
using
DevExpress.Xpf.Core
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Windows
;
using
System.Windows.Controls
;
using
System.Windows.Data
;
using
System.Windows.Documents
;
using
System.Windows.Input
;
using
System.Windows.Media
;
using
System.Windows.Media.Imaging
;
using
System.Windows.Shapes
;
using
VIZ.Framework.Core
;
namespace
VIZ.Package.Module
{
/// <summary>
/// Interaction logic for ImageShowWindow.xaml
/// </summary>
public
partial
class
ImageShowWindow
:
ThemedWindow
{
public
ImageShowWindow
()
{
InitializeComponent
();
WPFHelper
.
BindingViewModel
(
this
,
new
ImageShowViewModel
());
}
}
}
VIZ.Package.Module/Resource/MediaResource/View/MediaResourcePanel.xaml
View file @
d9f016be
...
...
@@ -124,7 +124,7 @@
</Grid>
</DataTemplate>
</dxg:GridControl.Resources>
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="Name" AllowColumnFiltering="False" AllowEditing="False" ReadOnly="True"></dxg:GridColumn>
</dxg:GridControl.Columns>
...
...
VIZ.Package.Module/Resource/MediaResource/View/MediaResourceView.xaml
View file @
d9f016be
...
...
@@ -26,8 +26,10 @@
<MenuItem Header="删除文件" Command="{Binding Path=PlacementTarget.DataContext.DeleteFileCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}}"/>
<MenuItem Header="移动文件" Command="{Binding Path=PlacementTarget.DataContext.MoveFileCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}}"/>
<MenuItem Header="导出素材" Command="{Binding Path=PlacementTarget.DataContext.ExportFileCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}}"/>
<MenuItem Header="编辑图片" Command="{Binding Path=PlacementTarget.DataContext.EditImageCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}}"/>
<MenuItem Header="查看图片" Command="{Binding Path=PlacementTarget.DataContext.ShowImageCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}}"/>
<Separator/>
<MenuItem Header="文件列表" Command="{Binding Path=PlacementTarget.DataContext.FilesListCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}}"/>
</ContextMenu>
...
...
VIZ.Package.Module/Resource/MediaResource/ViewModel/ImageShowViewModel.cs
0 → 100644
View file @
d9f016be
using
System
;
using
System.Collections.Generic
;
using
System.Drawing
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
using
System.Windows.Media.Imaging
;
using
VIZ.Framework.Core
;
namespace
VIZ.Package.Module
{
public
class
ImageShowViewModel
:
ViewModelBase
{
/// <summary>
/// 绑定图片
/// </summary>
private
BitmapImage
showImage
;
public
BitmapImage
ShowImage
{
get
{
return
showImage
;
}
set
{
showImage
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
ShowImage
));
}
}
/// <summary>
/// bitmap 转BitmapImage
/// </summary>
/// <param name="bitmap"></param>
/// <returns></returns>
public
BitmapImage
BitmapToBitmapImage
(
System
.
Drawing
.
Bitmap
bitmap
)
{
System
.
Drawing
.
Bitmap
ImageOriginalBase
=
new
System
.
Drawing
.
Bitmap
(
bitmap
);
BitmapImage
bitmapImage
=
new
BitmapImage
();
using
(
System
.
IO
.
MemoryStream
ms
=
new
System
.
IO
.
MemoryStream
())
{
ImageOriginalBase
.
Save
(
ms
,
System
.
Drawing
.
Imaging
.
ImageFormat
.
Png
);
bitmapImage
.
BeginInit
();
bitmapImage
.
StreamSource
=
ms
;
bitmapImage
.
CacheOption
=
BitmapCacheOption
.
OnLoad
;
bitmapImage
.
EndInit
();
bitmapImage
.
Freeze
();
}
return
bitmapImage
;
}
}
}
VIZ.Package.Module/Resource/MediaResource/ViewModel/MediaResourcePanelViewModel.cs
View file @
d9f016be
...
...
@@ -76,7 +76,8 @@ namespace VIZ.Package.Module
this
.
FileFilterCommand
=
new
VCommand
<
ResourceFileType
>(
this
.
FileFilter
);
this
.
FileRowFilterCommand
=
new
DevExpress
.
Mvvm
.
DelegateCommand
<
RowFilterArgs
>(
this
.
FileRowFilter
);
this
.
FileDoubleClickCommand
=
new
VCommand
(
this
.
FileDoubleClick
);
this
.
EditImageCommand
=
new
VCommand
(
EditImage
);
this
.
EditImageCommand
=
new
VCommand
(
this
.
EditImage
);
this
.
ShowImageCommand
=
new
VCommand
(
this
.
ShowImage
);
//this.FileContextMenuOpendCommand = new VCommand(this.FileContextMenuOpend);
//this.AddProgramTemplateCommand = new VCommand(this.AddProgramTemplate, this.CanAddProgramTemplate);
// this.CopyFilePathCommand = new VCommand(this.CopyFilePath, this.CanCopyFilePath);
...
...
@@ -945,7 +946,7 @@ namespace VIZ.Package.Module
{
if
(
selectedFileModel
==
null
||
selectedFileModel
.
ThumbnailBitmap
==
null
)
return
;
if
(
selectedFileModel
==
null
||
selectedFileModel
.
ThumbnailBitmap
==
null
||
selectedFileModel
.
FileType
==
ResourceFileType
.
VIDEO
)
return
;
//记录操作log日志
this
.
recordLogService
.
AppendLog
(
ApplicationConstants
.
APPLICATION_GROUP_NAME
,
RecordLogOperate
.
Operate
,
RecordLogTrigger
.
Human
,
RecordLogConstants
.
OPERATE_FILE_EDITIMAGE
);
...
...
@@ -1023,6 +1024,50 @@ namespace VIZ.Package.Module
#
endregion
#
region
查看图片选项
public
VCommand
ShowImageCommand
{
get
;
set
;
}
private
async
void
ShowImage
()
{
try
{
if
(
selectedFileModel
==
null
||
selectedFileModel
.
ThumbnailBitmap
==
null
||
selectedFileModel
.
FileType
==
ResourceFileType
.
VIDEO
)
return
;
//记录操作log日志
this
.
recordLogService
.
AppendLog
(
ApplicationConstants
.
APPLICATION_GROUP_NAME
,
RecordLogOperate
.
Operate
,
RecordLogTrigger
.
Human
,
"图片查看"
);
ImageShowWindow
imageShowWindow
=
new
ImageShowWindow
();
ImageShowViewModel
vm
=
imageShowWindow
.
DataContext
as
ImageShowViewModel
;
string
url
=
string
.
Format
(
"{0}GetFile?filePath={1}&isResize=false"
,
ApplicationDomainEx
.
MediaConfig
.
Url
,
SelectedFileModel
.
Path
);
var
imageResult
=
await
MediaResourceFileService
.
GetImage
(
url
);
Image
img
=
Image
.
FromStream
(
imageResult
);
//Bitmap bmp = new Bitmap(img);
Bitmap
bmp
=
new
Bitmap
(
img
);
vm
.
ShowImage
=
vm
.
BitmapToBitmapImage
(
bmp
);
imageShowWindow
.
ShowDialog
();
}
catch
(
Exception
ex
)
{
log
.
Error
(
ex
.
Message
);
}
}
#
endregion
#
region
刷新回收站文件
public
VCommand
RefresRecyclehFileCommand
{
get
;
set
;
}
...
...
VIZ.Package.Module/Resource/MediaResource/ViewModel/MediaResourceViewModel.cs
View file @
d9f016be
...
...
@@ -23,5 +23,6 @@ namespace VIZ.Package.Module
public
class
MediaResourceViewModel
:
MediaResourcePanelViewModel
{
}
}
VIZ.Package.Module/VIZ.Package.Module.csproj
View file @
d9f016be
...
...
@@ -201,7 +201,11 @@
<Compile Include="Resource\MediaResource\ImageCut\ImageEditWindow.xaml.cs">
<DependentUpon>ImageEditWindow.xaml</DependentUpon>
</Compile>
<Compile Include="Resource\MediaResource\ImageCut\ImageShowWindow.xaml.cs">
<DependentUpon>ImageShowWindow.xaml</DependentUpon>
</Compile>
<Compile Include="Resource\MediaResource\ViewModel\ImageEditViewModel.cs" />
<Compile Include="Resource\MediaResource\ViewModel\ImageShowViewModel.cs" />
<Compile Include="Setting\Conn\View\ConnSettingView.xaml.cs">
<DependentUpon>ConnSettingView.xaml</DependentUpon>
</Compile>
...
...
@@ -530,6 +534,10 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Resource\MediaResource\ImageCut\ImageShowWindow.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Setting\Conn\View\ConnSettingView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment