إدارة كائنات الحبر في العروض التقديمية على Android

المقدمة

يقدم PowerPoint ميزة الحبر التي تسمح لك برسم خطوط حرة الشكل. يمكن استخدام الحبر لتسليط الضوء على كائنات أخرى، وإظهار الاتصالات والعمليات، وجذب الانتباه إلى عناصر محددة في الشريحة.

توفر Aspose.Slides الأنواع اللازمة للعمل مع كائنات الحبر. على سبيل المثال، تمثل الواجهة IInk كائن الحبر على الشريحة.

الاختلافات بين الكائنات العادية وكائنات الحبر

عادةً ما يتم تمثيل الكائنات على شريحة PowerPoint بواسطة كائنات الشكل. في أبسط صوره، الشكل هو حاوية تحدد مساحة الكائن نفسه (إطارها) بالإضافة إلى خصائص مثل حجم الحاوية والشكل والخلفية. لمزيد من المعلومات، راجع Shape Layout Format.

ومع ذلك، عندما يتعامل PowerPoint مع كائن حبر، يتجاهل جميع خصائص إطار الكائن (الحاوية) باستثناء حجمه. يتم تحديد حجم مساحة الحاوية بواسطة طريقتي IShape.getWidth وIShape.getHeight القياسيتين:

ink_powerpoint1

آثار الحبر

آثار الحبر هي العنصر الأساسي المستخدم لتسجيل مسار القلم بينما يكتب المستخدم حبرًا رقميًا. تخزن الآثار سلسلة من النقاط المتصلة.

أبسط أشكال الترميز تحدد إحداثيات X وY لكل نقطة عينة. عندما يتم عرض جميع النقاط المتصلة، ينتج عنها صورة كهذه:

ink_powerpoint2

خصائص الفرشاة للرسم

تُستخدم الفرشاة لرسم الخطوط التي تربط نقاط أثر الحبر. للفرشاة لونها وحجمها الخاصين، يُمثَّلان بالطرقتين IInkBrush.getColor وIInkBrush.getSize .

تعيين لون فرشاة الحبر

هذا الكود Java يوضح كيفية تعيين لون فرشاة الحبر:

import android.graphics.Color;
import com.aspose.slides.*;

Presentation presentation = new Presentation("pres.pptx");
try {
    ISlide slide = presentation.getSlides().get_Item(0);
    IInk ink = (IInk) slide.getShapes().get_Item(0);
    IInkBrush brush = ink.getTraces()[0].getBrush();
    brush.setColor(Color.RED);
} finally {
    presentation.dispose();
}

تعيين حجم فرشاة الحبر

هذا الكود Java يوضح كيفية تعيين حجم فرشاة الحبر:

import com.aspose.slides.*;
import com.aspose.slides.android.SizeF;

Presentation presentation = new Presentation("pres.pptx");
try {
    ISlide slide = presentation.getSlides().get_Item(0);
    IInk ink = (IInk) slide.getShapes().get_Item(0);
    IInkBrush brush = ink.getTraces()[0].getBrush();
    SizeF brushSize = new SizeF(5, 10);
    brush.setSize(brushSize);
} finally {
    presentation.dispose();
}

عمومًا، لا تتطابق عرض وارتفاع الفرشاة، لذا لا يعرض PowerPoint حجم الفرشاة (القسم المقابل يكون مظللًا). عندما يتطابق عرض الفرشاة مع ارتفاعها، يعرض PowerPoint حجمه بهذه الطريقة:

ink_powerpoint3

لتوضيح ذلك، لنزيد ارتفاع كائن الحبر ونستعرض الأبعاد المهمة:

ink_powerpoint4

الحاوية (الإطار) لا تأخذ في الاعتبار حجم الفرشاة – فهو يفترض دائمًا أن سمك الخط صفر (انظر الصورة السابقة).

لذلك، لتحديد المنطقة المرئية لكامل كائن الحبر، يجب أخذ حجم فرشاة آثاره في الاعتبار. هنا، تم تحجيم الكائن الهدف (أثر النص المكتوب يدويًا) ليتناسب مع حجم الحاوية (الإطار). عندما يتغير حجم الحاوية، يبقى حجم الفرشاة ثابتًا، والعكس صحيح.

ink_powerpoint5

يستخدم PowerPoint سلوكًا مشابهًا لكائنات النص:

ink_powerpoint6

التحكم في مظهر الحبر أثناء التصدير والعرض

توفر Aspose.Slides الواجهة IInkOptions للتحكم في كيفية ظهور كائنات الحبر في الناتج المُصدّر أو المُعرض. يمكنك استخدام خصائصها لإخفاء الحبر بالكامل أو لتغيير طريقة تفسير عمليات قناع فرشاة الحبر.

تتوفر خيارات الحبر من خلال خيارات التصدير أو العرض للعديد من أنواع المخرجات:

Output Ink options property
PDF PdfOptions.getInkOptions
HTML HtmlOptions.getInkOptions
SVG SVGOptions.getInkOptions
TIFF TiffOptions.getInkOptions
Slide image RenderingOptions.getInkOptions

الطرق التالية في IInkOptions تكشف عن نفس الإعدادين:

إخفاء كائنات الحبر في الناتج PDF

بشكل افتراضي، تبقى كائنات الحبر مرئية أثناء التصدير. لإنشاء ناتج نظيف بدون ملاحظات مكتوبة يدويًا أو محتوى حبر آخر، استدعِ IInkOptions.setHideInk مع true.

الكود Java التالي يصدر عرضًا تقديميًا إلى PDF مع إخفاء جميع كائنات الحبر:

import com.aspose.slides.*;

Presentation presentation = new Presentation("presentation.pptx");
try {
    PdfOptions pdfOptions = new PdfOptions();
    pdfOptions.getInkOptions().setHideInk(true);

    presentation.save("presentation_without_ink.pdf", SaveFormat.Pdf, pdfOptions);
} finally {
    presentation.dispose();
}

إخفاء كائنات الحبر عند عرض شريحة كصورة

لإخفاء كائنات الحبر عند عرض الشرائح كصور بت ماب، قم بتكوين RenderingOptions.getInkOptions ومرّر خيارات العرض إلى ISlide.getImage.

الكود Java التالي يعرض الشريحة الأولى كصورة PNG بدون كائنات الحبر:

import com.aspose.slides.*;

Presentation presentation = new Presentation("presentation.pptx");
try {
    RenderingOptions renderingOptions = new RenderingOptions();
    renderingOptions.getInkOptions().setHideInk(true);

    ISlide slide = presentation.getSlides().get_Item(0);
    IImage image = slide.getImage(renderingOptions);
    try {
        image.save("slide_without_ink.png", ImageFormat.Png);
    } finally {
        image.dispose();
    }
} finally {
    presentation.dispose();
}

التحكم في عرض قناع الحبر

الإعداد IInkOptions.getInterpretMaskOpAsOpacity يتحكم في كيفية تفسير عمليات القناع عند عرض فرشاة الحبر. القيمة الافتراضية هي true، مما يستخدم العتامة. لاستخدام عملية ROP بدلاً من ذلك، استدعِ IInkOptions.setInterpretMaskOpAsOpacity مع false.

الكود Java التالي يصدر شريحة إلى SVG ويستخدم عرضًا قائمًا على ROP لعمليات قناع الحبر:

import com.aspose.slides.*;
import java.io.FileOutputStream;

Presentation presentation = new Presentation("presentation.pptx");
try {
    SVGOptions svgOptions = new SVGOptions();
    svgOptions.getInkOptions().setInterpretMaskOpAsOpacity(false);

    ISlide slide = presentation.getSlides().get_Item(0);
    FileOutputStream stream = new FileOutputStream("slide.svg");
    try {
        slide.writeAsSvg(stream, svgOptions);
    } finally {
        stream.close();
    }
} finally {
    presentation.dispose();
}

يمكن تطبيق نفس الإعداد عبر TiffOptions.getInkOptions عند تصدير عرض تقديمي أو عرض شريحة إلى TIFF.

اختيار إما إخفاء أو حفظ الحبر

عند الحاجة إلى نسخة نظيفة من عرض تقديمي معلق للتوزيع دون علامات مراجعة، استدعِ IInkOptions.setHideInk مع true أثناء التصدير.

اترك IInkOptions.getHideInk على قيمته الافتراضية false عندما تكون ملاحظات الحبر جزءًا من المحتوى المقصود، مثل تعليقات المراجعة أو الملاحظات المكتوبة يدويًا أو التحديدات أو الرسومات التي يجب أن تظل مرئية في النتيجة المصدَّرة. يتيح ذلك للتطبيقات إنشاء نواتج مراجعة ونهائية منفصلة من نفس العرض التقديمي دون تعديل كائنات الحبر الأصلية.

الأسئلة المتكررة

هل يمكنني تغيير لون أو حجم خط حبر موجود؟

نعم. احصل على الأثر من IInk.getTraces، ثم غيّر IInkTrace.getBrush. استدعِ IInkBrush.setColor أو IInkBrush.setSize لتغيير الفرشاة.

هل يؤدي إخفاء الحبر إلى تعديل العرض التقديمي الأصلي؟

لا. استدعاء IInkOptions.setHideInk يؤثر فقط على النتيجة المعروضة أو المصدَّرة؛ لا يزيل أو يعدل كائنات الحبر في العرض التقديمي الأصلي.

ما هي صيغ التصدير التي تدعم خيارات الحبر؟

يمكنك تكوين خيارات الحبر لـ PDF وHTML وSVG وTIFF وصور الشرائح bitmap من خلال خيارات التصدير أو العرض المقابلة المعروظة أعلاه.

قراءات إضافية