mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-04-06 09:16:37 +08:00
110 lines
3.2 KiB
C#
110 lines
3.2 KiB
C#
/*
|
|
* Copyright 2012 ZXing.Net authors
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
using System;
|
|
|
|
using ZXing.Common;
|
|
using ZXing.QrCode.Internal;
|
|
|
|
namespace ZXing.QrCode
|
|
{
|
|
/// <summary>
|
|
/// The class holds the available options for the QrCodeWriter
|
|
/// </summary>
|
|
public class QrCodeEncodingOptions : EncodingOptions
|
|
{
|
|
/// <summary>
|
|
/// Specifies what degree of error correction to use, for example in QR Codes.
|
|
/// Type depends on the encoder. For example for QR codes it's type
|
|
/// {@link com.google.zxing.qrcode.decoder.ErrorCorrectionLevel ErrorCorrectionLevel}.
|
|
/// </summary>
|
|
public ErrorCorrectionLevel ErrorCorrection
|
|
{
|
|
get
|
|
{
|
|
if (Hints.ContainsKey(EncodeHintType.ERROR_CORRECTION))
|
|
{
|
|
return (ErrorCorrectionLevel) Hints[EncodeHintType.ERROR_CORRECTION];
|
|
}
|
|
return null;
|
|
}
|
|
set
|
|
{
|
|
if (value == null)
|
|
{
|
|
if (Hints.ContainsKey(EncodeHintType.ERROR_CORRECTION))
|
|
Hints.Remove(EncodeHintType.ERROR_CORRECTION);
|
|
}
|
|
else
|
|
{
|
|
Hints[EncodeHintType.ERROR_CORRECTION] = value;
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Specifies what character encoding to use where applicable (type {@link String})
|
|
/// </summary>
|
|
public string CharacterSet
|
|
{
|
|
get
|
|
{
|
|
if (Hints.ContainsKey(EncodeHintType.CHARACTER_SET))
|
|
{
|
|
return (string) Hints[EncodeHintType.CHARACTER_SET];
|
|
}
|
|
return null;
|
|
}
|
|
set
|
|
{
|
|
if (value == null)
|
|
{
|
|
if (Hints.ContainsKey(EncodeHintType.CHARACTER_SET))
|
|
Hints.Remove(EncodeHintType.CHARACTER_SET);
|
|
}
|
|
else
|
|
{
|
|
Hints[EncodeHintType.CHARACTER_SET] = value;
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Explicitly disables ECI segment when generating QR Code
|
|
/// That is against the specification of QR Code but some
|
|
/// readers have problems if the charset is switched from
|
|
/// ISO-8859-1 (default) to UTF-8 with the necessary ECI segment.
|
|
/// If you set the property to true you can use UTF-8 encoding
|
|
/// and the ECI segment is omitted.
|
|
/// </summary>
|
|
public bool DisableECI
|
|
{
|
|
get
|
|
{
|
|
if (Hints.ContainsKey(EncodeHintType.DISABLE_ECI))
|
|
{
|
|
return (bool)Hints[EncodeHintType.DISABLE_ECI];
|
|
}
|
|
return false;
|
|
}
|
|
set
|
|
{
|
|
Hints[EncodeHintType.DISABLE_ECI] = value;
|
|
}
|
|
}
|
|
}
|
|
}
|