XPS’nin kod fırçaları ve degradeleri

XPS dosyalarının fırçaları ve degradeleriyle çalışmak için C++ API çözümü.

 

Aspose.Page API Solution for C++ size XPS dosyalarının vektör grafiklerini yönetme yeteneği sağlar. Farklı renk ve dokularla çeşitli geometrik şekiller oluşturmanıza olanak sağlar. Ayrıca fırçalarla nasıl çalışılacağı hakkında Aspose.Page belgelerini de öğrenin.

XPS dosyalarının fırçalarını ve degradelerini değiştirmek için şunlara ihtiyacımız var:

  • Aspose.Page for C++ API, C++ platformu için zengin özelliklere sahip, güçlü ve kullanımı kolay bir belge işleme ve dönüştürme API'sidir.

  • En son sürümünü doğrudan indirebilir, NuGet paket yöneticisini açıp Aspose.Page.Cpp'yi aratıp kurabilirsiniz. Aşağıdaki komutu Paket Yönetici Konsolundan da kullanabilirsiniz.

Package Manager Console Command


    PM> Install-Package Aspose.Page.Cpp

C++ ile görsel fırçalarla çalışma

Aspose.Page for C++ API, birkaç satır kod kullanarak XPS dosyalarınıza bir ızgara eklemenizi sağlar. Bu hem yeni hem de mevcut belgeler için yapılabilir. XpsVisualBrush sınıfı, XpsPathGeometry kullanılarak ızgaranın özelliklerini ayarlamak için kullanılır ve XpsCanvas nesneleri. XPS belgenize ızgara eklemek için şu adımları izlemeniz gerekir:

  1. XpsDocument Sınıfını kullanarak bir Document nesnesi oluşturun
  2. Gerekli segmentlerin tanımlandığı bir XpsPathGeometry nesnesi oluşturun.
  3. İşleme dönüşümünü ayarlamak için XpsCanvas Sınıfını kullanın.
  4. Dolgu ve Opaklık özelliklerini istediğiniz gibi ayarlayın.
  5. Save() Yöntemini çağırarak belgeyi kaydedin.
Namespaces in use
using Aspose::Page::XPS;
using Aspose::Page::XPS::XpsModel;
using System::Drawing;
Izgara oluşturmak için görsel fırçayı kullanma
// The path to the documents directory.
System::String dataDir = RunExamples::GetDataDir_WorkingWithVisualBrush();
System::SharedPtr<XpsDocument> doc = System::MakeObject<XpsDocument>();
// Geometry for magenta grid VisualBrush
System::SharedPtr<XpsPathGeometry> pathGeometry = doc->CreatePathGeometry();
pathGeometry->AddSegment(doc->CreatePolyLineSegment(System::MakeArray<System::Drawing::PointF>({System::Drawing::PointF(240.f, 5.f), System::Drawing::PointF(240.f, 310.f), System::Drawing::PointF(0.f, 310.f)})));
pathGeometry->idx_get(0)->set_StartPoint(System::Drawing::PointF(0.f, 5.f));
// Canvas for magenta grid VisualBrush
System::SharedPtr<XpsCanvas> visualCanvas = doc->CreateCanvas();
System::SharedPtr<XpsPath> visualPath = visualCanvas->AddPath(doc->CreatePathGeometry(u"M 0,4 L 4,4 4,0 6,0 6,4 10,4 10,6 6,6 6,10 4,10 4,6 0,6 Z"));
visualPath->set_Fill(doc->CreateSolidColorBrush(doc->CreateColor(1.f, .61f, 0.1f, 0.61f)));
System::SharedPtr<XpsPath> gridPath = doc->AddPath(pathGeometry);
//Create Visual Brush, it is specified by some XPS fragment (vector graphics and glyphs)
gridPath->set_Fill(doc->CreateVisualBrush(visualCanvas, System::Drawing::RectangleF(0.f, 0.f, 10.f, 10.f), System::Drawing::RectangleF(0.f, 0.f, 10.f, 10.f)));
(System::ExplicitCast<Aspose::Page::XPS::XpsModel::XpsVisualBrush>(gridPath->get_Fill()))->set_TileMode(Aspose::Page::XPS::XpsModel::XpsTileMode::Tile);
// New canvas
System::SharedPtr<XpsCanvas> canvas = doc->AddCanvas();
canvas->set_RenderTransform(doc->CreateMatrix(1.f, 0.f, 0.f, 1.f, 268.f, 70.f));
// Add grid
canvas->AddPath(pathGeometry);
// Red transparent rectangle in the middle top
System::SharedPtr<XpsPath> path = canvas->AddPath(doc->CreatePathGeometry(u"M 30,20 l 258.24,0 0,56.64 -258.24,0 Z"));
path = canvas->AddPath(doc->CreatePathGeometry(u"M 10,10 L 228,10 228,100 10,100"));
path->set_Fill(doc->CreateSolidColorBrush(doc->CreateColor(1.0f, 0.0f, 0.0f)));
path->set_Opacity(0.7f);
// Save resultant XPS document
doc->Save(dataDir + u"output/" + u"AddGrid_out.xps");
view raw add-grid.cpp hosted with ❤ by GitHub

C++ ile yatay bir degrade ekleyin.

C++ için Aspose.Page API Çözümü, XpsGradientBrush kullanarak XPS belgelerinize farklı türde degradeler eklemenizi sağlar. Sınıfı. Bu sınıf, XPS dosyasını temsil eden XpsDocument nesnesine XpsGradientStop ve XpsPath bilgilerini belirtmek için kullanılır. İşte bunun nasıl yapılacağına dair bir örnek:

  1. Bir XpsDocument nesnesini başlatın.
  2. XPS belgesi için XpsGradientStop ve XpsPath parametrelerini tanımlayın.
  3. İşleme bilgilerini ayarlayın.
  4. Save() Yöntemini kullanarak belgeyi kaydedin.
XPS'ye yatay degrade ekleme
// The path to the documents directory.
System::String dataDir = RunExamples::GetDataDir_WorkingWithGradient();
// Create new XPS Document
System::SharedPtr<XpsDocument> doc = System::MakeObject<XpsDocument>();
// Initialize List of XpsGradentStop
System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<XpsGradientStop>>> stops = System::MakeObject<System::Collections::Generic::List<System::SharedPtr<XpsGradientStop>>>();
stops->Add(doc->CreateGradientStop(doc->CreateColor(255, 244, 253, 225), 0.0673828f));
stops->Add(doc->CreateGradientStop(doc->CreateColor(255, 251, 240, 23), 0.314453f));
stops->Add(doc->CreateGradientStop(doc->CreateColor(255, 252, 209, 0), 0.482422f));
stops->Add(doc->CreateGradientStop(doc->CreateColor(255, 241, 254, 161), 0.634766f));
stops->Add(doc->CreateGradientStop(doc->CreateColor(255, 53, 253, 255), 0.915039f));
stops->Add(doc->CreateGradientStop(doc->CreateColor(255, 12, 91, 248), 1.f));
// Create new path by defining geometery in abbreviation form
System::SharedPtr<XpsPath> path = doc->AddPath(doc->CreatePathGeometry(u"M 10,210 L 228,210 228,300 10,300"));
path->set_RenderTransform(doc->CreateMatrix(1.f, 0.f, 0.f, 1.f, 20.f, 70.f));
path->set_Fill(doc->CreateLinearGradientBrush(System::Drawing::PointF(10.f, 0.f), System::Drawing::PointF(228.f, 0.f)));
(System::ExplicitCast<Aspose::Page::XPS::XpsModel::XpsGradientBrush>(path->get_Fill()))->get_GradientStops()->AddRange(stops);
// Save resultant XPS document
doc->Save(dataDir + u"output/" + u"AddHorizontalGradient_outXPS.xps");



SSS

1. XPS dosyasına nasıl degrade ekleyebilirim?

Belgeler dizininin yolunu ayarlayın. Degrade eklemek için CreateColor() ve CreateGradientStop() Yöntemlerini kullanın.

2. XPS dosyasında görsel fırçayla nasıl çalışılır?

Belgeler dizininin yolunu ayarlayın. Görsel fırça oluşturmak için CreateVisualBrush() Yöntemini kullanın.

3. XPS dosyası nasıl açılır?

Program aracılığıyla veya platformlar arası XPS Görüntüleyici aracılığıyla XPS’i açmak dosyasını açmak için Aspose.Page API Çözümünü kullanın .aspose.app/page/viewer/xps).

XPS XPS Dosya Biçimi nedir

XPS formatı, PDF formatına benzer. Her ikisi de sayfa açıklama dili (PDL) biçimleridir. EPS, PostScript diline değil, HTML'ye dayalıdır. .eps dosyası, belgenin nasıl görüneceğine ilişkin bilgilerle birlikte belgenin yapısının bir işaretini içerebilir. Belgenin nasıl yazdırılacağına ve oluşturulacağına ilişkin ek talimatlar da vardır. Formatın özelliği, belgenin açıklamasını düzeltmesidir, bu da onu kimden ve hangi işletim sisteminden açarsa açsın aynı görüneceği anlamına gelir.