📄 stylegalleryitemview.cs
字号:
using System;
using System.Drawing;
using System.Runtime.InteropServices;
namespace SymbolViewer
{
/// <summary>
/// SymbolTransBitmp 的摘要说明。
/// </summary>
public class StyleGalleryItemView
{
public StyleGalleryItemView()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// 通过符号库中的IStyleGalleryItem 和 IStyleGalleryClass类别生成图片预览
/// </summary>
/// <param name="iWidth">宽度</param>
/// <param name="iHeight">高度</param>
/// <param name="mStyleGlyCs">IStyleGalleryClass</param>
/// <param name="mStyleGlyItem">IStyleGalleryItem</param>
/// <returns></returns>
public static System.Drawing.Bitmap StyleGalleryItemToBmp(
int iWidth,
int iHeight,
ESRI.ArcGIS.Display.IStyleGalleryClass mStyleGlyCs,
ESRI.ArcGIS.Display.IStyleGalleryItem mStyleGlyItem)
{
Bitmap bmp = new Bitmap(iWidth,iHeight);
Graphics gImage = Graphics.FromImage(bmp);
ESRI.ArcGIS.Display.tagRECT rect = new ESRI.ArcGIS.Display.tagRECT();
rect.right = bmp.Width;
rect.bottom = bmp.Height;
//生成预览
System.IntPtr hdc = new IntPtr();
hdc = gImage.GetHdc();
mStyleGlyCs.Preview(mStyleGlyItem.Item,hdc.ToInt32(),ref rect);
gImage.ReleaseHdc(hdc);
gImage.Dispose();
return bmp;
}
/// <summary>
/// 通过符号库中的IStyleGalleryItem 和 IStyleGalleryClass类别生成图片预览(不指定宽度)
/// </summary>
/// <param name="iHeight">高度 (宽度自动调整)</param>
/// <param name="mStyleGlyCs">IStyleGalleryClass</param>
/// <param name="mStyleGlyItem">IStyleGalleryItem</param>
/// <returns></returns>
public static System.Drawing.Bitmap StyleGalleryItemToBmp(
int iHeight,
ESRI.ArcGIS.Display.IStyleGalleryClass mStyleGlyCs,
ESRI.ArcGIS.Display.IStyleGalleryItem mStyleGlyItem)
{
int iWidth;
iWidth =(int)(mStyleGlyCs.PreviewRatio * iHeight);
return StyleGalleryItemToBmp(iWidth,iHeight,mStyleGlyCs,mStyleGlyItem);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -