0
    using Gma.QrCodeNet.Encoding;
    using Gma.QrCodeNet.Encoding.Windows.Controls;

    private QrEncoder Encoder = new QrEncoder(ErrorCorrectionLevel.H);
    private Renderer renderer = new Renderer(15);

    BitMatrix qr = Encoder.Encode("12345").Matrix;
    Size size = Renderer.Measure(qr.Width);

    Bitmap result = new Bitmap(size.Width, size.Width);
    try
    {
        using (Graphics graphics = Graphics.FromImage(result))
        renderer.Draw(graphics,qr);
        return result;
    }
    catch
    {
        result.Dispose();
        throw;
    }

上記のものでQRコードを正常に生成できます。ただし、常にコードのすべての側面に空白を入れて作成します。空白を削除する簡単な方法はありますか、それとも空白なしでコードを生成できますか?

4

1 に答える 1

0

ライブラリが直接サポートしていない場合は、結果のビットマップを切り取るためにもう 1 つのステップをいつでも追加できます。

using (Graphics graphics = Graphics.FromImage(result))
    renderer.Draw(graphics,qr);

Rectangle cropRectangle = Rectangle(
    borderWidth,borderHeight,result.Width-borderWidth, 
    result.Height-borderHeight);    
return result.Clone(cropRectangle, bmp.PixelFormat);
于 2013-01-31T21:14:08.017 に答える