PageImageList.cs
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.IO;
using System.Drawing;
using System.Drawing.Imaging;
using System.Collections.Generic;
using System.Text;
//www.51aspx.com
namespace CoolPrintPreview
{
#if false
// This version of the PageImageList stores images as byte arrays. It is a little
// more complex and slower than a simple list, but doesn't consume GDI resources.
// This is important when the list contains lots of images (Windows only supports
// 10,000 simultaneous GDI objects!)
class PageImageList
{
// ** fields
List<byte[]> _list = new List<byte[]>();
// ** object model
public void Clear()
{
_list.Clear();
}
public int Count
{
get { return _list.Count; }
}
public void Add(Image img)
{
_list.Add(GetBytes(img));
// stored image data, now dispose of original
img.Dispose();
}
public Image this[int index]
{
get { return GetImage(_list[index]); }
set { _list[index] = GetBytes(value); }
}
// implementation
byte[] GetBytes(Image img)
{
// use interop to get the metafile bits
Metafile mf = img as Metafile;
var enhMetafileHandle = mf.GetHenhmetafile().ToInt32();
var bufferSize = GetEnhMetaFileBits(enhMetafileHandle, 0, null);
var buffer = new byte[bufferSize];
GetEnhMetaFileBits(enhMetafileHandle, bufferSize, buffer);
// return bits
return buffer;
}
Image GetImage(byte[] data)
{
MemoryStream ms = new MemoryStream(data);
return Image.FromStream(ms);
}
后面还有 15 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。