本文整理匯總了C#中System.util.zlib.ZDeflaterOutputStream.Finish方法的典型用法代碼示例。如果您正苦於以下問題:C# ZDeflaterOutputStream.Finish方法的具體用法?C# ZDeflaterOutputStream.Finish怎麽用?C# ZDeflaterOutputStream.Finish使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類System.util.zlib.ZDeflaterOutputStream
的用法示例。
在下文中一共展示了ZDeflaterOutputStream.Finish方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: FlateCompress
/**
* Compresses the stream.
* @param compressionLevel the compression level (0 = best speed, 9 = best compression, -1 is default)
* @since 2.1.3
*/
virtual public void FlateCompress(int compressionLevel) {
if (!Document.Compress)
return;
// check if the flateCompress-method has already been used
if (compressed) {
return;
}
this.compressionLevel = compressionLevel;
if (inputStream != null) {
compressed = true;
return;
}
// check if a filter already exists
PdfObject filter = PdfReader.GetPdfObject(Get(PdfName.FILTER));
if (filter != null) {
if (filter.IsName()) {
if (PdfName.FLATEDECODE.Equals(filter))
return;
}
else if (filter.IsArray()) {
if (((PdfArray) filter).Contains(PdfName.FLATEDECODE))
return;
}
else {
throw new PdfException(MessageLocalization.GetComposedMessage("stream.could.not.be.compressed.filter.is.not.a.name.or.array"));
}
}
// compress
MemoryStream stream = new MemoryStream();
ZDeflaterOutputStream zip = new ZDeflaterOutputStream(stream, compressionLevel);
if (streamBytes != null)
streamBytes.WriteTo(zip);
else
zip.Write(bytes, 0, bytes.Length);
//zip.Close();
zip.Finish();
// update the object
streamBytes = stream;
bytes = null;
Put(PdfName.LENGTH, new PdfNumber(streamBytes.Length));
if (filter == null) {
Put(PdfName.FILTER, PdfName.FLATEDECODE);
}
else {
PdfArray filters = new PdfArray(filter);
filters.Add(0, PdfName.FLATEDECODE);
Put(PdfName.FILTER, filters);
}
compressed = true;
}
示例2: WriteIccProfile
public void WriteIccProfile(byte[] data)
{
MemoryStream stream = new MemoryStream();
stream.WriteByte((byte)'I');
stream.WriteByte((byte)'C');
stream.WriteByte((byte)'C');
stream.WriteByte(0);
stream.WriteByte(0);
ZDeflaterOutputStream zip = new ZDeflaterOutputStream(stream, 5);
zip.Write(data, 0, data.Length);
zip.Finish();
WriteChunk(iCCP, stream.ToArray());
}
示例3: WriteData
public void WriteData(byte[] data, int stride)
{
MemoryStream stream = new MemoryStream();
ZDeflaterOutputStream zip = new ZDeflaterOutputStream(stream, 5);
for (int k = 0; k < data.Length; k += stride) {
zip.WriteByte(0);
zip.Write(data, k, stride);
}
zip.Finish();
WriteChunk(IDAT, stream.ToArray());
}
示例4: WriteData
public void WriteData(byte[] data, int stride)
{
MemoryStream stream = new MemoryStream();
ZDeflaterOutputStream zip = new ZDeflaterOutputStream(stream, 5);
int k;
for (k = 0; k < data.Length - stride; k += stride) {
zip.WriteByte(0);
zip.Write(data, k, stride);
}
int remaining = data.Length - k;
if (remaining > 0){
zip.WriteByte(0);
zip.Write(data, k, remaining);
}
zip.Finish();
WriteChunk(IDAT, stream.ToArray());
}
示例5: FlateCompress
// methods
/**
* Compresses the stream.
*
* @throws PdfException if a filter is allready defined
*/
public void FlateCompress()
{
if (!Document.Compress)
return;
// check if the flateCompress-method has allready been
if (compressed) {
return;
}
if (inputStream != null) {
compressed = true;
return;
}
// check if a filter allready exists
PdfObject filter = PdfReader.GetPdfObject(Get(PdfName.FILTER));
if (filter != null) {
if (filter.IsName()) {
if (PdfName.FLATEDECODE.Equals(filter))
return;
}
else if (filter.IsArray()) {
if (((PdfArray) filter).Contains(PdfName.FLATEDECODE))
return;
}
else {
throw new PdfException("Stream could not be compressed: filter is not a name or array.");
}
}
// compress
MemoryStream stream = new MemoryStream();
ZDeflaterOutputStream zip = new ZDeflaterOutputStream(stream);
if (streamBytes != null)
streamBytes.WriteTo(zip);
else
zip.Write(bytes, 0, bytes.Length);
//zip.Close();
zip.Finish();
// update the object
streamBytes = stream;
bytes = null;
Put(PdfName.LENGTH, new PdfNumber(streamBytes.Length));
if (filter == null) {
Put(PdfName.FILTER, PdfName.FLATEDECODE);
}
else {
PdfArray filters = new PdfArray(filter);
filters.Add(PdfName.FLATEDECODE);
Put(PdfName.FILTER, filters);
}
compressed = true;
}