public void ImageTag(Document doc, SheetInfo info, ViewPortInfo vport) { // Create a new QRCoder Tag QRCoder.QRCodeGenerator qrGenerator = new QRCoder.QRCodeGenerator(); // Generate a new QR Tag QRCoder.QRCodeGenerator.QRCode qrCode = qrGenerator.CreateQrCode(data, QRCoder.QRCodeGenerator.ECCLevel.M); // Assemble a temp file name string tempfile = System.IO.Path.GetTempFileName() + ".QRTAG"; // Get the Tags graphics element System.Drawing.Bitmap bmp = qrCode.GetGraphic(5); // Save it temporarily bmp.Save(tempfile); // Get the related view sheet View sheet = (View)doc.GetElement(info.sheetId); // Create a image element to return from import Element imageElement = null; // Get the Viewports label outline Outline labelOutline = vport.vport.GetLabelOutline(); // Get the lower left corner XYZ labelCorner = new XYZ(info.sheet.Origin.X + (labelOutline.MinimumPoint.X), info.sheet.Origin.Y + labelOutline.MinimumPoint.Y, 0); // Add some distance value XYZ location = labelCorner.Add(new XYZ(0, -0.5 / 12.0, 0)); // Import the image doc.Import(tempfile, new ImageImportOptions() { RefPoint = location, Placement = BoxPlacement.TopLeft }, sheet, out imageElement); // Delete temp file if (System.IO.File.Exists(tempfile)) { System.IO.File.Delete(tempfile); } }
public void ImageTag(Document doc, SheetInfo info, ViewPortInfo vport) { // Create a new QRCoder Tag QRCoder.QRCodeGenerator qrGenerator = new QRCoder.QRCodeGenerator(); // Generate a new QR Tag QRCoder.QRCodeGenerator.QRCode qrCode = qrGenerator.CreateQrCode(data, QRCoder.QRCodeGenerator.ECCLevel.M); // Assemble a temp file name string tempfile = System.IO.Path.GetTempFileName() + ".QRTAG"; // Get the Tags graphics element System.Drawing.Bitmap bmp = qrCode.GetGraphic(5); // Save it temporarily bmp.Save(tempfile); // Get the related view sheet View sheet = (View)doc.GetElement(info.sheetId); // Create a image element to return from import Element imageElement = null; // Get the Viewports label outline Outline labelOutline = vport.vport.GetLabelOutline(); // Get the lower left corner XYZ labelCorner = new XYZ(info.sheet.Origin.X + (labelOutline.MinimumPoint.X), info.sheet.Origin.Y + labelOutline.MinimumPoint.Y, 0); // Add some distance value XYZ location = labelCorner.Add(new XYZ(0, -0.5/12.0, 0)); // Import the image doc.Import(tempfile, new ImageImportOptions() { RefPoint = location, Placement = BoxPlacement.TopLeft }, sheet, out imageElement); // Delete temp file if (System.IO.File.Exists(tempfile)) System.IO.File.Delete(tempfile); }