لایه ماسک برداری

بررسی مختصر لایه برداری

یک ماسک برداری مسیری است که بسته به رزولوشن محتوای لایه را برش می‌زند. ماسک‌های برداری معمولاً دقیق‌تر از آن است که با ابزار‌های مبتنی بر پیکسل ایجاد شده باشند. شما می‌توانید ماسک‌های برداری را با استفاده از ابزار خودکار یا اشکال ایجاد کنید.

Aspose.PSD پشتیبانی از تولید و اعمال ماسک‌های برداری را ارائه می‌دهد. شما می‌توانید ماسک‌های برداری را از طریق ویرایش مسیرهای برداری تغییر دهید.

مسیر برداری در Aspose.PSD

دسترسی به مسیرهای برداری در Aspose.PSD از طریق منابع VsmsResouce و VmskResouce فراهم می‌شود که کلاس‌های فرزند VectorPathDataResource هستند.

todo:image_alt_text

چگونگی ویرایش مسیر برداری؟

ساختار مسیر برداری

ساختار پایه برای کنترل مسیرها VectorPathRecord است. اما برای راحتی خودتان، راه‌حل زیر توصیه می‌شود.

برای ویرایش آسان مسیرهای برداری، باید از کلاس VectorPath استفاده کنید که شامل متدهایی برای ویرایش راحت داده‌های برداری در منابع مشتق‌شده از VectorPathDataResource است.

شروع کار با ایجاد یک شی از نوع VectorPath.

برای راحتی، می‌توانید از متد استاتیک VectorDataProvider.CreateVectorPathForLayer استفاده کنید، که یک منبع برداری در لایه ورودی پیدا کرده و بر اساس آن یک شی VectorPath ایجاد خواهد کرد.

پس از تمامی ویرایش‌ها، می‌توانید شی VectorPath با تغییرات را به لایه با استفاده از متد استاتیک VectorDataProvider.UpdateLayerFromVectorPath اعمال کنید.

نوع VectorPath شامل یک لیست از المان‌های PathShape است و یک تصویر برداری کلی را که ممکن است از یک یا چند شکل تشکیل شده باشد، توصیف می‌کند.

todo:image_alt_text

هر PathShape یک فیگور برداری است که از یک مجموعه جداگانه از گره‌های بزیری تشکیل شده است.

گره‌ها اشیاء از نوع BezierKnot هستند که به طور اصولی نقاطی هستند که فیگور از آن ساخته می‌شود.

todo:image_alt_text

مثال کد زیر نشان می‌دهد چگونه به یک فیگور و نقاط دسترسی پیدا کنید.

چگونگی ایجاد یک شکل؟

برای ویرایش یک شکل، نیاز است که یک شکل موجود را از لیست VectorPath.Shapes دریافت کنید یا با ایجاد یک نمونه PathShape و اضافه کردن آن به لیست Shapes اضافه کنید.

چگونگی اضافه کردن گره‌ها (نقاط)؟

شما می‌توانید نقاط های شکل را به عنوان عناصری از یک لیست عادی با استفاده از خاصیت PathShape.Points، به عنوان مثال، می‌توانید نقاط شکل را اضافه کنید:

BezierKnot حاوی نقطه محور و دو نقطه کنترل است.

todo:image_alt_text

اگر نقطه محور و نقاط کنترل مقادیر یکسانی داشته باشند، آن گره زاویه تیزی خواهد داشت.

برای تغییر موقعیت نقطه محور همراه با نقاط کنترل (مشابه Photoshop)، BezierKnot دارای یک متد Shift است.

مثال کد زیر حرکت سراسری یک گره بزیری بیزیر را به صورت عمودی با کردن Y نشان می‌دهد:

می‌توانید نقاط شکل را به عنوان عناصر یک لیست عادی با استفاده از خاصیت PathShape.Points تغییر دهید. به عنوان مثال، می‌توانید نقاط شکل را اضافه کنید:

ویژگی‌های PathShape

ویرایش PathShape به ویرایش گره‌ها محدود نمی‌شود، این نوع دارای ویژگی‌های دیگری است.

PathOperations (عملیات بولی)

ویژگی PathOperations یک عملیات بولی مشهور است که تغییر مقدار آن تعیین می‌کند که چگونه چندین شکل با یکدیگر ترکیب می‌شوند.

مقادیر ممکن عبارتند از:

  • 0 = ExcludeOverlappingShapes (عملیات XOR).
  • 1 = CombineShapes (عملیات OR).
  • 2 = SubtractFrontShape (عملیات NOT).
  • 3 = IntersectShapeAreas (عملیات AND).

todo:image_alt_text

ویژگی IsClosed

همچنین، با استفاده از خصوصیت PathShape.IsClosed، می‌توانیم تشخیص دهیم که آیا گره اول و آخر یک شکل به هم وصل هستند یا خیر.

شکل بسته شکل باز
todo:image_alt_text todo:image_alt_text

FillColor Property

هیچ فیگوری نمی‌تواند رنگ خودش را داشته باشد، پس می‌توانید رنگ تمام مسیر برداری را با خصوصیت VectorPath.FillColor تغییر دهید.

می‌توانید نقاط شکل را به عنوان عناصر یک لیست عادی با استفاده از خاصیت PathShape.Points تغییر دهید. به عنوان مثال، می‌توانید نقاط شکل را اضافه کنید:

اینجا منبع کد VectorDataProvider و کلاس‌های مرتبط را پیدا خواهید کرد: