Hantera bläckobjekt i presentationer på Android
Introduktion
PowerPoint erbjuder en bläckfunktion som låter dig rita fria penseldrag. Bläck kan användas för att markera andra objekt, visa samband och processer samt rikta uppmärksamhet mot specifika element på en bild.
Aspose.Slides tillhandahåller de typer som behövs för att arbeta med bläckobjekt. Till exempel representerar gränssnittet IInk ett bläckobjekt på en bild.
Skillnader mellan vanliga objekt och bläckobjekt
Objekt på en PowerPoint‑bild representeras vanligtvis av formobjekt. I sin enklaste form är en form en behållare som definierar objektets område (dess ram) tillsammans med egenskaper såsom behållarens storlek, form och bakgrund. För mer information, se Shape Layout Format.
När PowerPoint däremot hanterar ett bläckobjekt ignorerar den alla egenskaper för objektets ram (behållare) förutom dess storlek. Storleken på behållarområdet bestäms av de standardmetoderna IShape.getWidth och IShape.getHeight :

Bläckspår
Ett bläckspår är ett grundläggande element som används för att registrera en pennas bana när en användare skriver digitalt bläck. Ett spår lagrar en sekvens av sammankopplade punkter.
Den enklaste kodningsformen specificerar X- och Y-koordinaterna för varje samplingspunkt. När alla sammankopplade punkter renderas bildas en bild som denna:

Penselns egenskaper för ritning
En pensel används för att rita linjer som kopplar ihop punkterna i ett bläckspår. Penseln har sin egen färg och storlek, representerade av metoderna IInkBrush.getColor och IInkBrush.getSize .
Ange bläckpenselns färg
Denna Java‑kod visar hur du anger färgen på en bläckpensel:
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();
}
Ange bläckpenselns storlek
Denna Java‑kod visar hur du anger storleken på en bläckpensel:
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();
}
Generellt matchar en pensels bredd och höjd inte, så PowerPoint visar inte penselns storlek (den motsvarande datasektionen är gråtonad). När penselns bredd och höjd matchar visar PowerPoint dess storlek på följande sätt:

För tydlighetens skull, låt oss öka höjden på bläckobjektet och granska de viktiga dimensionerna:

Behållaren (ramen) tar inte hänsyn till penselns storlek – den antar alltid att linjetjockleken är noll (se föregående bild).
Därför måste penselstorleken för dess spår beaktas för att bestämma det synliga området för hela bläckobjektet. Här har målobjektet (det handskrivna textspåret) skalats till behållarens (ramens) storlek. När behållarens storlek ändras förblir penselstorleken konstant, och vice versa.

PowerPoint använder liknande beteende för textobjekt:

Styr bläckens utseende vid export och rendering
Aspose.Slides tillhandahåller gränssnittet IInkOptions för att kontrollera hur bläckobjekt visas i exporterad eller renderad output. Du kan använda dess egenskaper för att helt dölja bläck eller ändra hur maskoperationer för bläckpenslar tolkas.
Bläckalternativ är tillgängliga genom export‑ eller renderingsalternativen för flera utdatatyper:
| Utdata | Egenskap för bläckalternativ |
|---|---|
| PdfOptions.getInkOptions | |
| HTML | HtmlOptions.getInkOptions |
| SVG | SVGOptions.getInkOptions |
| TIFF | TiffOptions.getInkOptions |
| Slide image | RenderingOptions.getInkOptions |
Följande IInkOptions‑metoder exponeras med samma två inställningar:
- IInkOptions.getHideInk bestämmer om bläckobjekt inkluderas i output. Dess standardvärde är
false. - IInkOptions.getInterpretMaskOpAsOpacity bestämmer om en maskoperation tolkas som opacitet när en bläckpensel renderas. Dess standardvärde är
true; anropa IInkOptions.setInterpretMaskOpAsOpacity medfalseför att använda ROP‑operationen i stället.
Dölj bläckobjekt i PDF‑utdata
Som standard förblir bläckobjekt synliga vid export. För att skapa en ren output utan handskrivna kommentarer eller annat bläckinnehåll, anropa IInkOptions.setHideInk med true.
Följande Java‑exempel exporterar en presentation till PDF samtidigt som alla bläckobjekt döljs:
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();
}
Dölj bläckobjekt vid rendering av en bild som bitmap
För att dölja bläckobjekt vid rendering av bilder som bitmap‑bilder, konfigurera RenderingOptions.getInkOptions och skicka renderingsalternativen till ISlide.getImage.
Följande Java‑exempel renderar den första bilden som en PNG‑bild utan bläckobjekt:
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();
}
Styr rendering av bläckmask
Inställningen IInkOptions.getInterpretMaskOpAsOpacity styr hur maskoperationer tolkas vid rendering av bläckpenslar. Standardvärdet är true, vilket använder opacitet. För att i stället använda ROP‑operationen, anropa IInkOptions.setInterpretMaskOpAsOpacity med false.
Följande Java‑exempel exporterar en bild till SVG och använder ROP‑baserad rendering för bläckmaskoperationer:
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();
}
Samma inställning kan tillämpas via TiffOptions.getInkOptions när en presentation exporteras eller en bild renderas till TIFF.
Välj om du vill dölja eller bevara bläck
När du behöver en ren version av en annoterad presentation för distribution utan granskningsmarkeringar, anropa IInkOptions.setHideInk med true under export.
Låt IInkOptions.getHideInk ha sitt standardvärde false när bläckanteckningar är en del av det avsedda innehållet, t.ex. granskningskommentarer, handskrivna anteckningar, markeringar eller teckningar som ska vara synliga i det exporterade resultatet. Detta gör att applikationer kan generera separata gransknings‑ och slutresultat från samma presentation utan att ändra de ursprungliga bläckobjekten.
Vanliga frågor
Kan jag ändra färgen eller storleken på ett befintligt bläcksteg?
Ja. Hämta spåret från IInk.getTraces, ändra sedan dess IInkTrace.getBrush. Anropa IInkBrush.setColor eller IInkBrush.setSize för att ändra penseln.
Påverkar dölja av bläck källpresentationen?
Nej. Att anropa IInkOptions.setHideInk påverkar endast det renderade eller exporterade resultatet; det tar inte bort eller ändrar bläckobjekt i källpresentationen.
Vilka exportformat stödjer bläckalternativ?
Du kan konfigurera bläckalternativ för PDF, HTML, SVG, TIFF och bitmap‑bildspel via de motsvarande export‑ eller renderingsalternativen som visas ovan.
Ytterligare läsning
- För att läsa om former i allmänhet, se avsnittet PowerPoint‑former.
- För mer information om effektiva värden, se Formens effektiva egenskaper.
- För detaljer om PDF‑export, se Konvertera PPT och PPTX till PDF.
- För detaljer om HTML‑export, se Konvertera PowerPoint‑presentationer till HTML.
- För detaljer om SVG‑export, se Rendera presentationsbilder som SVG‑bilder.
- För detaljer om TIFF‑export, se Konvertera PowerPoint‑presentationer till TIFF.
- För detaljer om rendering av bild till bild, se Konvertera presentationsbilder till bilder.