DWG DXF'den PDF'ye C# | Auto CAD Dosyalarını C# .NET'de PDF JPEG PNG'ye Dönüştür
DWG veya DXF’yi C# ile PNG JPEG BMP GIF veya TIFF’ye Dönüştürme
Aspose.CAD for .NET, DXF ve DWG gibi AutoCAD çizim formatlarını PNG, BMP, TIFF, JPEG ve GIF formatlarına dönüştürebilir. Bu hedefe ulaşmak için etkin ve kullanımı kolay bir API sunmaktadır.
Aşağıda açıklanan basit adımları takip ederek desteklenen herhangi bir AutoCAD çizim formatını raster görüntü formatlarına dönüştürebilirsiniz.
- AutoCAD DWG veya DXF dosyasını Image sınıfına yükleyin.
- CadRasterizationOptions sınıfından bir örnek oluşturun.
- PageWidth ve PageHeight kullanarak görüntünün boyutunu ayarlayın/değiştirin.
- ImageOptionsBase sınıfından bir örnek oluşturun.
- Önceki adımda oluşturulan CadRasterizationOptions örneğini VectorRasterizationOptions özelliğine ayarlayın.
- AutoCAD çizimini Image.Save ile PDF olarak kaydedin, dosya yolunu (veya bir MemoryStream objesini) ve önceki adımda oluşturulan ImageOptionsBase örneğini geçin.
İşte tam kaynak kodu.
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
using (Aspose.CAD.Image image = Aspose.CAD.Image.Load(sourceFilePath)) | |
{ | |
// Create an instance of CadRasterizationOptions | |
Aspose.CAD.ImageOptions.CadRasterizationOptions rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions(); | |
// Set page width & height | |
rasterizationOptions.PageWidth = 1200; | |
rasterizationOptions.PageHeight = 1200; | |
// Create an instance of PngOptions for the resultant image | |
ImageOptionsBase options = new Aspose.CAD.ImageOptions.PngOptions(); | |
// Set rasterization options | |
options.VectorRasterizationOptions = rasterizationOptions; | |
MyDir = MyDir + "conic_pyramid_raster_image_out.png"; | |
// Save resultant image | |
image.Save(MyDir, options); | |
} |
Varsayılan olarak, API yalnızca “Model” düzenini işler. Ancak, CAD çizimlerini görüntü formatlarına dönüştürürken tercih ettiğiniz düzenleri de belirtebilirsiniz.
CAD Dönüşümünü Özelleştirme
CAD’den PDF ve CAD’den raster görüntü dönüşüm prosedürleri son derece yapılandırılabilir çünkü CadRasterizationOptions sınıfı, uygulama ihtiyaçlarına göre işleme sürecini geçersiz kılabilecek birçok isteğe bağlı özellik sunacak şekilde tasarlanmıştır.
CadRasterizationOptions Sınıfı
CadRasterizationOptions sınıfı, desteklenen tüm CAD formatları için (DWG ve DXF gibi) ortak bir sınıftır, bu nedenle bu makalede paylaşılan bilgiler yukarıda belirtilen CAD formatları için de geçerlidir.
En faydalı CadRasterizationOptions sınıf özellikleri:
Özellik | Varsayılan Değer | Gerekli | Açıklama |
---|---|---|---|
PageWidth | 0 | Evet | Sayfa genişliğini belirtir. |
PageHeight | 0 | Evet | Sayfa yüksekliğini belirtir. |
ScaleMethod | ScaleType.ShrinkToFit | Hayır | Çizimin otomatik olarak ölçeklenip ölçeklenmeyeceğini belirtir. Varsayılan değer, resmi tuval boyutuna sığdırmak için otomatik olarak küçültür. GrowToFit moduna geçin veya otomatik ölçeklemeyi devre dışı bırakmak için None ayarını kullanın. |
BackgroundColor | Color.White | Hayır | Çıktı görüntüsünün arka plan rengini belirtir. |
DrawType | CadDrawTypeMode.UseDrawColor | Hayır | Varlıkların renklendirme modunu belirtir. Varlıkları kendi yerel rengiyle çizmek için UseObjectColor seçeneğini belirtin veya yerel renkleri geçersiz kılmak için UseDrawColor seçeneğini belirtin. |
DrawColor | Color.Black | Hayır | Geçersiz kılınan varlık rengini belirtir (sadece DrawType UseDrawColor özellik değerine ayarlandığında). |
AutomaticLayoutsScaling | Yanlış | Hayır | Otomatik düzen ölçeklemesinin Model düzenine uyması gerektiğini belirtir. |
Tuval Boyutunu ve Modunu Ayarlama
CAD’den PDF veya CAD’den raster görüntü formatlarına aktarım basit bir iş değildir. Sonuç PDF veya görüntüsü, çizimi düzgün bir şekilde işlemek için tuval boyutunun tanımlanmasını gerektirir. Çizimi düzgün bir şekilde görüntülemek için PDF sayfasının çıktı boyutlarını tanımlamamız gerekir. CadRasterizationOptions.PageWidth ve CadRasterizationOptions.PageHeight özelliklerini açıkça ayarlayın, aksi takdirde ImageSaveException alabilirsiniz.
Ayrıca, boyut ölçeği seçeneklerini belirleyebilirsiniz. Ölçekleme seçenekleri CadRasterizationOptions.ScaleMethod özelliği ile ayarlanır. Bu seçeneği kullanarak görüntü boyutlarını CadRasterizationOptions.PageWidth ve CadRasterizationOptions.PageHeight değerlerine göre otomatik olarak ayarlayın. Varsayılan olarak, CadRasterizationOptions.ScaleMethod ScaleType.ShrinkToFit moduna ayarlanmıştır. Bu özellik aşağıdaki davranışı tanımlar:
- CAD çiziminin boyutları, sonuçtu tuval boyutundan büyükse, çizim boyutları, en-boy oranını koruyarak sonuçtu tuvale sığacak şekilde küçük boyutlara düşürülür.
- CAD çiziminin boyutları, sonuçtu tuval boyutundan küçükse, çizim boyutunu sonuçtu PDF tuvaline sığdırmak için CadRasterizationOptions.ScaleMethod özelliğini ScaleType.GrowToFit ayarlayın, bu sırada en-boy oranı korunur.
- Ya da otomatik ölçeklemeyi ScaleType.None seçeneği ile devre dışı bırakabilirsiniz.
Aşağıdaki kod örneği, otomatik ölçekleme seçeneğinin nasıl kullanıldığını göstermektedir.
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
using (Aspose.CAD.Image image = Aspose.CAD.Image.Load(sourceFilePath)) | |
{ | |
// Create an instance of CadRasterizationOptions and set its various properties | |
Aspose.CAD.ImageOptions.CadRasterizationOptions rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions(); | |
rasterizationOptions.PageWidth = 1600; | |
rasterizationOptions.PageHeight = 1600; | |
rasterizationOptions.AutomaticLayoutsScaling = true; | |
rasterizationOptions.NoScaling = false; | |
// Create an instance of PdfOptions | |
Aspose.CAD.ImageOptions.PdfOptions pdfOptions = new Aspose.CAD.ImageOptions.PdfOptions(); | |
// Set the VectorRasterizationOptions property | |
pdfOptions.VectorRasterizationOptions = rasterizationOptions; | |
//Export CAD to PDF | |
image.Save(MyDir + "result_out.pdf", pdfOptions); | |
// Create an instance of TiffOptions | |
Aspose.CAD.ImageOptions.TiffOptions tiffOptions = new Aspose.CAD.ImageOptions.TiffOptions(Aspose.CAD.FileFormats.Tiff.Enums.TiffExpectedFormat.Default); | |
// Set the VectorRasterizationOptions property | |
tiffOptions.VectorRasterizationOptions = rasterizationOptions; | |
//Export CAD to TIFF | |
image.Save(MyDir + "result_out.tiff", tiffOptions); | |
} |
Arka Plan ve Çizim Renklerini Ayarlama
Varsayılan olarak, sonuçtu tuvalin renk paleti, ortak belgeler şemasına ayarlanmıştır. Bu, CAD çizimindeki tüm varlıkların, solid beyaz bir arka plan üzerinde siyah renk kalemi ile çizileceği anlamına gelir. Bu ayarlar, CadRasterizationOptions.BackgroundColor ve CadRasterizationOptions.DrawColor özellikleri ile değiştirilebilir. CadRasterizationOptions.DrawColor özelliğini değiştirmek, çizim renginin kullanılabilmesi için CadRasterizationOptions.DrawType özelliğinin de ayarlanmasını gerektirir. CadRasterizationOptions.DrawType özelliği, CAD varlıklarının renklerini koruyup korumayacağını veya özel renklere dönüştürülüp dönüştürülmeyeceğini kontrol eder. Varlık renklerini korumak için, CadRasterizationOptions.DrawType değerini CadDrawTypeMode.UseObjectColor olarak belirtin, aksi takdirde CadDrawTypeMode.UseDrawColor değerini belirtin.
Aşağıdaki kod örneği, farklı renk özelliklerinin nasıl kullanılacağını göstermektedir.
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
using (Aspose.CAD.Image image = Aspose.CAD.Image.Load(sourceFilePath)) | |
{ | |
// Create an instance of CadRasterizationOptions and set its various properties | |
Aspose.CAD.ImageOptions.CadRasterizationOptions rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions(); | |
rasterizationOptions.PageWidth = 1600; | |
rasterizationOptions.PageHeight = 1600; | |
rasterizationOptions.BackgroundColor = Aspose.CAD.Color.Beige; | |
rasterizationOptions.DrawType = Aspose.CAD.FileFormats.Cad.CadDrawTypeMode.UseDrawColor; | |
rasterizationOptions.DrawColor = Aspose.CAD.Color.Blue; | |
// Create an instance of PdfOptions | |
Aspose.CAD.ImageOptions.PdfOptions pdfOptions = new Aspose.CAD.ImageOptions.PdfOptions(); | |
// Set the VectorRasterizationOptions property | |
pdfOptions.VectorRasterizationOptions = rasterizationOptions; | |
//Export CAD to PDF | |
image.Save(MyDir + "result_out.pdf", pdfOptions); | |
// Create an instance of TiffOptions | |
Aspose.CAD.ImageOptions.TiffOptions tiffOptions = new Aspose.CAD.ImageOptions.TiffOptions(Aspose.CAD.FileFormats.Tiff.Enums.TiffExpectedFormat.Default); | |
// Set the VectorRasterizationOptions property | |
tiffOptions.VectorRasterizationOptions = rasterizationOptions; | |
//Export CAD to TIFF | |
image.Save(MyDir + "result_out.tiff", tiffOptions); | |
} |
Otomatik Düzen Ölçeklemesini Ayarlama
Çoğu CAD çizimi, tek bir dosyada birden fazla düzen bulundurur ve her düzenin farklı boyutları olabilir. Böyle CAD çizimlerini PDF’ye aktarırken, PDF’nin her sayfası, düzen boyutuna göre farklı ölçeklenebilir. Görselleştirmeyi homojen hale getirmek için, Aspose.CAD API’leri CadRasterizationOptions.AutomaticLayoutsScaling özelliğini sunmuştur. Varsayılan değeri yanlış’dır, ancak doğru olduğunda API, her ayrı düzen için karşılık gelen bir ölçek aramaya çalışacak ve sayfa boyutuna göre otomatik yeniden boyutlandırma işlemi gerçekleştirerek uygun şekilde çizecektir.
CadRasterizationOptions.AutomaticLayoutsScaling özelliğinin CadRasterizationOptions.ScaleMethod özelliği ile birlikte nasıl çalıştığı aşağıdaki gibidir:
- Eğer ScaleMethod ScaleType.ShrinkToFit veya ScaleType.GrowToFit olarak ayarlanmışsa ve AutomaticLayoutsScaling yanlış olarak ayarlanmışsa, o zaman tüm düzenler (Model dahil) ilk seçeneğe göre işlenecektir.
- Eğer ScaleMethod ScaleType.ShrinkToFit veya ScaleType.GrowToFit olarak ayarlanmışsa ve AutomaticLayoutsScaling doğru olarak ayarlanmışsa, o zaman tüm düzenler (Model hariç) kendilerine göre işlenecek, Model ise ilk seçeneğe göre işlenecektir.
- Eğer ScaleMethod ScaleType.None olarak ayarlanmışsa ve AutomaticLayoutsScaling doğru veya yanlış olarak ayarlanmışsa, o zaman hiçbir ölçekleme yapılmayacaktır.
Aşağıdaki kod örneği, CAD’den PDF dönüşümü için otomatik düzen ölçeklemesinin nasıl ayarlandığını göstermektedir.
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
using (Aspose.CAD.Image image = Aspose.CAD.Image.Load(sourceFilePath)) | |
{ | |
// Create an instance of CadRasterizationOptions and set its various properties | |
Aspose.CAD.ImageOptions.CadRasterizationOptions rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions(); | |
rasterizationOptions.PageWidth = 1600; | |
rasterizationOptions.PageHeight = 1600; | |
// Set Auto Layout Scaling | |
rasterizationOptions.AutomaticLayoutsScaling = true; | |
// Create an instance of PdfOptions | |
Aspose.CAD.ImageOptions.PdfOptions pdfOptions = new Aspose.CAD.ImageOptions.PdfOptions(); | |
// Set the VectorRasterizationOptions property | |
pdfOptions.VectorRasterizationOptions = rasterizationOptions; | |
MyDir = MyDir + "result_out.pdf"; | |
//Export the CAD to PDF | |
image.Save(MyDir, pdfOptions); | |
} |
AutoCAD DXF veya DWG Düzenlerini C# ile PNG veya Diğer Görüntü Formatlarına Dönüştürme
Aspose.CAD for .NET API, desteklenen formatlardaki CAD düzenlerini DXF ve DWG gibi formatları PNG, BMP, TIFF, JPEG ve GIF gibi formatlara dönüştürebilir. API ayrıca CAD çiziminin belirli düzenlerini farklı PSD katmanlarına render etme desteği de sunar.
Aşağıda, bunu nasıl gerçekleştirebileceğiniz basit adımlarla gösterilmektedir.
- Image sınıfını kullanarak AutoCAD DWG veya DXF dosyasını yükleyin.
- Görüntünün genişliğini ve yüksekliğini ayarlayın/değiştirin.
- CadRasterizationOptions.Layouts özelliğini kullanarak istenen düzen adı(ları)nı ayarlayın.
- ImageOptionsBase sınıfından bir örnek oluşturun ve VectorRasterizationOptions özelliğini önceki adımda oluşturduğunuz CadRasterizationOptions örneğine ayarlayın.
- CAD düzenini TIFF veya görüntü olarak kaydedin.
İşte tam kaynak kodu.
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
using (Aspose.CAD.Image image = Aspose.CAD.Image.Load(sourceFilePath)) | |
{ | |
// Create an instance of CadRasterizationOptions | |
Aspose.CAD.ImageOptions.CadRasterizationOptions rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions(); | |
// Set page width & height | |
rasterizationOptions.PageWidth = 1200; | |
rasterizationOptions.PageHeight = 1200; | |
// Specify a list of layout names | |
rasterizationOptions.Layouts = new string[] { "Model", "Layout1" }; | |
// Create an instance of TiffOptions for the resultant image | |
ImageOptionsBase options = new Aspose.CAD.ImageOptions.TiffOptions(Aspose.CAD.FileFormats.Tiff.Enums.TiffExpectedFormat.Default); | |
// Set rasterization options | |
options.VectorRasterizationOptions = rasterizationOptions; | |
MyDir = MyDir + "conic_pyramid_layoutstorasterimage_out.tiff"; | |
// Save resultant image | |
image.Save(MyDir, options); | |
} |
CAD Görselleştirme Süreci için İzlemeyi Etkinleştirme
Aspose.CAD, CAD görselleştirme sürecinin izlenmesine yardımcı olacak bir dizi sınıf ve destekleyici enum alanları tanıtmıştır. Bu değişikliklerle birlikte, CAD’den PDF dönüşümü artık izleme etkinleştirilerek aşağıdaki şekilde gerçekleştirilebilir.
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
using (Aspose.CAD.Image image = Aspose.CAD.Image.Load(sourceFilePath)) | |
{ | |
MemoryStream stream = new MemoryStream(); | |
Aspose.CAD.ImageOptions.PdfOptions pdfOptions = new Aspose.CAD.ImageOptions.PdfOptions(); | |
// Create an instance of CadRasterizationOptions and set its various properties | |
Aspose.CAD.ImageOptions.CadRasterizationOptions cadRasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions(); | |
pdfOptions.VectorRasterizationOptions = cadRasterizationOptions; | |
cadRasterizationOptions.PageWidth = 800; | |
cadRasterizationOptions.PageHeight = 600; | |
image.Save(stream, pdfOptions); | |
} |
CAD görselleştirme sürecinin izlenmesi, aşağıdaki olası sorunları tespit edebilir.
- Eksik veya bozuk başlık bilgisi.
- Eksik düzen bilgisi.
- Eksik blok varlıkları.
- Eksik boyut stilleri.
- Eksik stiller.
CAD Çizimlerini Dönüştürürken Fontları Değiştirme
Belirli bir CAD çiziminin, CAD’den PDF veya CAD’den raster görüntü dönüşümünün gerçekleştiği makinede bulunmayan belirli bir font kullanması olasıdır. Böyle durumlarda, Aspose.CAD API, eksik font(lar)ı vurgulamak ve dönüşüm sürecini durdurmak için uygun bir istisna tetikler çünkü API, içeriklerini sonuç PDF veya görüntülere düzgün bir şekilde renderlemek için bu fontlara ihtiyaç duyar.
Aspose.CAD API, gerekli font(ları) mevcut font(larla) değiştirme mekanizmasını kullanmanın kolay bir yolunu sağlar. CadImage.Styles özelliği, CAD çizimindeki her stil için CadStyleTableObject‘i içeren bir CadStylesDictionary örneği döndürür. CadStyleTableObject.PrimaryFontName ise mevcut font adını belirtmek için kullanılabilir.
Aşağıdaki kod örneği, Aspose.CAD for .NET API’sinin bir CAD çizimindeki tüm stillerin fontunu değiştirme kullanımını göstermektedir.
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
// Load a CAD drawing in an instance of CadImage | |
using (Aspose.CAD.FileFormats.Cad.CadImage cadImage = (Aspose.CAD.FileFormats.Cad.CadImage)Aspose.CAD.Image.Load(sourceFilePath)) | |
{ | |
// Iterate over the items of CadStyleDictionary | |
foreach (CadStyleTableObject style in cadImage.Styles) | |
{ | |
// Set the font name | |
style.PrimaryFontName = "Arial"; | |
} | |
} | |
Console.WriteLine("\nFont changed successfully."); | |
} | |
public static void SubstitutingFontByName() | |
{ | |
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
// Load a CAD drawing in an instance of CadImage | |
using (Aspose.CAD.FileFormats.Cad.CadImage cadImage = (Aspose.CAD.FileFormats.Cad.CadImage)Aspose.CAD.Image.Load(sourceFilePath)) | |
{ | |
// Iterate over the items of CadStyleDictionary | |
foreach (CadStyleTableObject style in cadImage.Styles) | |
{ | |
if (style.StyleName == "Roman") | |
{ | |
// Specify the font for one particular style | |
style.PrimaryFontName = "Arial"; | |
} | |
} | |
} | |
} | |
Sadece bir belirli stilin fontunu stil adı ile erişerek değiştirmek de mümkündür. Aşağıdaki kod örneği, bu yaklaşımın kullanımını göstermektedir.
// For complete examples and data files, please go to https://github.com/aspose-cad/Aspose.CAD-for-.NET | |
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
// Load a CAD drawing in an instance of CadImage | |
using (Aspose.CAD.FileFormats.Cad.CadImage cadImage = (Aspose.CAD.FileFormats.Cad.CadImage)Aspose.CAD.Image.Load(sourceFilePath)) | |
{ | |
// Iterate over the items of CadStyleDictionary | |
foreach (CadStyleTableObject style in cadImage.Styles) | |
{ | |
if (style.StyleName == "Roman") | |
{ | |
// Specify the font for one particular style | |
style.PrimaryFontName = "Arial"; | |
} | |
} | |
} |
CAD Katmanlarını Raster Görüntü Formatlarına Dönüştürme
Aspose.CAD for .NET API, gereken CAD katmanının adını belirlemeye ve bunu raster görüntü formatlarına render etmeye yönelik verimli ve kolay bir araç sunmaktadır. Aşağıda, bunu 5 basit adımda nasıl gerçekleştirebileceğinizi bulabilirsiniz.
- CAD dosyasını Image örneğine Load fabrika yöntemi kullanarak yükleyin.
- CadRasterizationOptions örneği oluşturun ve PageWidth ve PageHeight gibi zorunlu özelliklerini ayarlayın.
- CadRasterizationOptions.Layers.Add yöntemi kullanarak gerekli katman adını ekleyin.
- ImageOptionsBase sınıfından bir örnek oluşturun ve VectorRasterizationOptions özelliğini önceki adımda oluşturduğunuz CadRasterizationOptions örneğine ayarlayın.
- Image.Save yöntemini çağırarak dosya yolunu (veya bir MemoryStream nesnesini) ve önceki adımda oluşturduğunuz ImageOptionsBase örneğini geçin.
İşte tam kaynak kodu.
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
// Load a CAD drawing in an instance of Image | |
using (var image = Aspose.CAD.Image.Load(sourceFilePath)) | |
{ | |
// Create an instance of CadRasterizationOptions | |
var rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions(); | |
// Set image width & height | |
rasterizationOptions.PageWidth = 500; | |
rasterizationOptions.PageHeight = 500; | |
// Add the layer name to the CadRasterizationOptions's layer list | |
rasterizationOptions.Layers= new string[] { "LayerA" }; | |
// Create an instance of JpegOptions (or any ImageOptions for raster formats) | |
var options = new Aspose.CAD.ImageOptions.JpegOptions(); | |
// Set VectorRasterizationOptions property to the instance of CadRasterizationOptions | |
options.VectorRasterizationOptions = rasterizationOptions; | |
//Export each layer to Jpeg format | |
MyDir = MyDir + "CADLayersToRasterImageFormats_out.jpg"; | |
image.Save(MyDir, options); | |
} | |
Console.WriteLine("\nCAD layers converted successfully to raster image format.\nFile saved at " + MyDir); | |
} | |
public static void ConvertAllLayersToRasterImageFormats() | |
{ | |
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
// Load a CAD drawing in an instance of CadImage | |
using (var image = (Aspose.CAD.FileFormats.Cad.CadImage)Aspose.CAD.Image.Load(sourceFilePath)) | |
{ | |
// Create an instance of CadRasterizationOptions | |
var rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions(); | |
// Set image width & height | |
rasterizationOptions.PageWidth = 500; | |
rasterizationOptions.PageHeight = 500; | |
// Get the layers in an instance of CadLayersDictionary | |
var layersList = image.Layers; | |
// Iterate over the layers | |
foreach (var layerName in layersList.GetLayersNames()) | |
{ | |
// Display layer name for tracking | |
Console.WriteLine("Start with " + layerName); | |
// Add the layer name to the CadRasterizationOptions's layer list | |
rasterizationOptions.Layers = new string[] { "LayerA" }; | |
// Create an instance of JpegOptions (or any ImageOptions for raster formats) | |
var options = new Aspose.CAD.ImageOptions.JpegOptions(); | |
// Set VectorRasterizationOptions property to the instance of CadRasterizationOptions | |
options.VectorRasterizationOptions = rasterizationOptions; | |
//Export each layer to Jpeg format | |
image.Save(layerName + "_out.jpg", options); | |
} | |
} | |
Console.WriteLine("\nCAD all layers converted successfully to raster image format."); |
Tüm CAD Katmanlarını Ayrı Görüntülere Dönüştürme
CadImage.Layers kullanarak CAD çiziminden tüm katmanları alabilir ve her bir katmanı ayrı görüntü olarak render edebilirsiniz, aşağıda gösterildiği gibi.
// For complete examples and data files, please go to https://github.com/aspose-cad/Aspose.CAD-for-.NET | |
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
// Load a CAD drawing in an instance of CadImage | |
using (var image = (Aspose.CAD.FileFormats.Cad.CadImage)Aspose.CAD.Image.Load(sourceFilePath)) | |
{ | |
// Create an instance of CadRasterizationOptions | |
var rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions(); | |
// Set image width & height | |
rasterizationOptions.PageWidth = 500; | |
rasterizationOptions.PageHeight = 500; | |
// Set the drawing to render at the center of image | |
rasterizationOptions.CenterDrawing = true; | |
// Get the layers in an instance of CadLayersDictionary | |
var layersList = image.Layers; | |
// Iterate over the layers | |
foreach (var layerName in layersList.GetLayersNames()) | |
{ | |
// Display layer name for tracking | |
Console.WriteLine("Start with " + layerName); | |
// Add the layer name to the CadRasterizationOptions's layer list | |
rasterizationOptions.Layers.Add(layerName); | |
// Create an instance of JpegOptions (or any ImageOptions for raster formats) | |
var options = new Aspose.CAD.ImageOptions.JpegOptions(); | |
// Set VectorRasterizationOptions property to the instance of CadRasterizationOptions | |
options.VectorRasterizationOptions = rasterizationOptions; | |
//Export each layer to Jpeg format | |
image.Save(layerName + "_out.jpg", options); | |
} | |
} |
DWF CAD Katmanlarını Raster Görüntü Formatlarına Dönüştürme
Aspose.CAD for .NET API, gereken CAD katmanının adını belirlemeye ve bunu raster görüntü formatlarına render etmeye yönelik verimli ve kolay bir araç sunmaktadır. Aşağıda, bunu 5 basit adımda nasıl gerçekleştirebileceğinizi bulabilirsiniz.
- DWF CAD dosyasını Image örneğine Load fabrika yöntemi kullanarak yükleyin.
- CadRasterizationOptions örneği oluşturun ve PageWidth ve PageHeight gibi zorunlu özelliklerini ayarlayın.
- CadRasterizationOptions.Layers.Add yöntemi kullanarak gerekli katman adını ekleyin.
- ImageOptionsBase sınıfından bir örnek oluşturun ve VectorRasterizationOptions özelliğini önceki adımda oluşturduğunuz CadRasterizationOptions örneğine ayarlayın.
- Image.Save yöntemini çağırarak dosya yolunu (veya bir MemoryStream nesnesini) ve önceki adımda oluşturduğunuz ImageOptionsBase örneğini geçin.
İşte tam kaynak kodu.
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string inputFile = MyDir + "18-12-11 9644 - site.dwf"; | |
using (Image image = Image.Load(inputFile)) | |
{ | |
BmpOptions bmpOptions = new BmpOptions(); | |
var dwfRasterizationOptions = new CadRasterizationOptions(); | |
bmpOptions.VectorRasterizationOptions = dwfRasterizationOptions; | |
dwfRasterizationOptions.PageHeight = 500; | |
dwfRasterizationOptions.PageWidth = 500; | |
// export | |
string outPath = MyDir + "18-12-11 9644 - site.bmp"; | |
image.Save(outPath, bmpOptions); | |
} | |
Aspose.CAD for .NET, API ve Sürüm Numarası hakkında bilgileri çıktı belgelerine doğrudan yazar. Örneğin, belgeleri PDF’ye render ettiğinde, Aspose.CAD for .NET Application alanını ‘Aspose.CAD’ değeri ve PDF Producing alanını ‘Aspose.CAD v 17.10’ gibi bir değer ile doldurur.
Lütfen Aspose.CAD for .NET’i çıktı belgelerinden bu bilgileri değiştirmesi veya kaldırması için talimat veremeyeceğinizi unutmayın.