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:
- XpsDocument Sınıfını kullanarak bir Document nesnesi oluşturun
- Gerekli segmentlerin tanımlandığı bir XpsPathGeometry nesnesi oluşturun.
- İşleme dönüşümünü ayarlamak için XpsCanvas Sınıfını kullanın.
- Dolgu ve Opaklık özelliklerini istediğiniz gibi ayarlayın.
- 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"); |
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:
- Bir XpsDocument nesnesini başlatın.
- XPS belgesi için XpsGradientStop ve XpsPath parametrelerini tanımlayın.
- İşleme bilgilerini ayarlayın.
- 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.