public void Write(string barcodeText, string fileName, int width, int height) { MultiFormatWriter zx = new MultiFormatWriter(); var barcode = zx.encode(barcodeText, BarcodeFormat.QR_CODE, width, height); var bitmap = new Bitmap(barcode.Width, barcode.Height); for (int y = 0; y < barcode.Height; y++) { for (int x = 0; x < barcode.Width; x++) { int grayValue = barcode.Array[y][x] & 0xFF; bitmap.SetPixel(x, y, (grayValue == 0 ? Color.Black : Color.White)); } } bitmap.Save(fileName, ImageFormat.Png); }