DsPdfJS API - v9.1.0
    Preparing search index...

    Class BmpContext

    Represents a drawing context for a Bitmap.

    Hierarchy (View Summary)

    Index

    Constructors

    • Creates a new Bitmap with BmpContext and optionally fills the Bitmap with a background color.

      Parameters

      • width: number

        The width of drawing surface, in context units (not in pixels, unless scale is 1.0).

      • height: number

        The height of drawing surface, in context units (not in pixels, unless scale is 1.0).

      • Optionalscale: number

        The optional scale factor for mapping from context units to pixels. The default is 1.0 which means that the width and height are in pixels.

      • OptionalbackColor: Color | null

        An optional background color to fill the drawing surface.

      Returns BmpContext

    • Creates a new Bitmap with BmpContext and optionally fills the Bitmap with a background color.

      Parameters

      • om: ObjectManager

        An object manager that controls the lifetime of the BmpContext object.

      • width: number

        The width of drawing surface, in context units (not in pixels, unless scale is 1.0).

      • height: number

        The height of drawing surface, in context units (not in pixels, unless scale is 1.0).

      • Optionalscale: number

        The optional scale factor for mapping from context units to pixels. The default is 1.0 which means that the width and height are in pixels.

      • OptionalbackColor: Color | null

        An optional background color to fill the drawing surface.

      Returns BmpContext

    Accessors

    • get aliased(): boolean

      Gets or sets a value indicating whether the graphic objects are drawn without anti-aliasing.

      Returns boolean

    • set aliased(value: boolean): void

      Gets or sets a value indicating whether the graphic objects are drawn without anti-aliasing.

      Parameters

      • value: boolean

      Returns void

    • get backgroundBitmap(): Bitmap | null

      Gets or sets a Bitmap providing background for all drawing and filling operations. The same bitmap cannot be used as background and target at the same time. The background bitmap must be of the same pixel size as the target bitmap.

      Returns Bitmap | null

    • set backgroundBitmap(background: Bitmap | null): void

      Gets or sets a Bitmap providing background for all drawing and filling operations. The same bitmap cannot be used as background and target at the same time. The background bitmap must be of the same pixel size as the target bitmap.

      Parameters

      Returns void

    • get backgroundContainsUnmodifiedImage(): boolean

      Gets or sets a value indicating that copying pixels from the BmpContext#backgroundBitmap to the target bitmap should not be marked as changed in the BmpContext#updatedPixelMask. The default is false, indicating that pixels copied from the background bitmap to the target are marked as changed.

      Returns boolean

    • set backgroundContainsUnmodifiedImage(value: boolean): void

      Gets or sets a value indicating that copying pixels from the BmpContext#backgroundBitmap to the target bitmap should not be marked as changed in the BmpContext#updatedPixelMask. The default is false, indicating that pixels copied from the background bitmap to the target are marked as changed.

      Parameters

      • value: boolean

      Returns void

    • get bitmap(): Bitmap

      Gets the Bitmap object associated with this drawing context.

      Returns Bitmap

    • get blendMode(): BlendMode

      Gets or sets the current blend mode for drawing operations.

      Returns BlendMode

    • set blendMode(blendMode: BlendMode): void

      Gets or sets the current blend mode for drawing operations.

      Parameters

      Returns void

    • get drawTextAsPath(): boolean

      Gets or sets a value indicating if text is rendered using the graphic paths instead of the specialized text drawing services. Assigning a null value resets the property to a default value that depends on context type. This property does not affect drawing to BmpContext.

      Returns boolean

    • set drawTextAsPath(value: boolean | null): void

      Gets or sets a value indicating if text is rendered using the graphic paths instead of the specialized text drawing services. Assigning a null value resets the property to a default value that depends on context type. This property does not affect drawing to BmpContext.

      Parameters

      • value: boolean | null

      Returns void

    • get forceAntialiasingForText(): boolean

      Gets or sets a value specifying whether text is always drawn with antialiasing regardless the value of the 'aliased' property.

      Returns boolean

    • set forceAntialiasingForText(value: boolean): void

      Gets or sets a value specifying whether text is always drawn with antialiasing regardless the value of the 'aliased' property.

      Parameters

      • value: boolean

      Returns void

    • get height(): number

      Gets the height of the context, in context graphic units.

      Returns number

    • get id(): number

      Gets the reference to the object.

      Returns number

    • get matrix(): number[]

      Gets or sets the transformation matrix. The matrix consists of six numbers (their meaning is simplified for clarity): m11 - scales the drawing horizontally m12 - skew the the drawing horizontally m21 - skew the the drawing vertically m22 - scales the drawing vertically m31 - moves the the drawing horizontally m32 - moves the the drawing vertically

      Returns number[]

    • set matrix(matrix: number[]): void

      Gets or sets the transformation matrix. The matrix consists of six numbers (their meaning is simplified for clarity): m11 - scales the drawing horizontally m12 - skew the the drawing horizontally m21 - skew the the drawing vertically m22 - scales the drawing vertically m31 - moves the the drawing horizontally m32 - moves the the drawing vertically

      Parameters

      • matrix: number[]

      Returns void

    • get slowAntialiasing(): boolean

      Gets or sets a value indicating whether the antialiasing algorithm should produce better quality with lower speed.

      Returns boolean

    • set slowAntialiasing(value: boolean): void

      Gets or sets a value indicating whether the antialiasing algorithm should produce better quality with lower speed.

      Parameters

      • value: boolean

      Returns void

    • get transform(): Transform

      Gets or sets the current transformation of the drawing surface.

      Returns Transform

    • set transform(transform: Transform): void

      Gets or sets the current transformation of the drawing surface.

      Parameters

      Returns void

    • get transparencyMask(): GrayscaleBitmap | null

      Gets or sets a GrayscaleBitmap providing transparency mask for all drawing and filling operations. Pixels in the mask with value 0 are fully opaque and will completely mask any drawing (i.e. the pixels of the target bitmap will remain unchanged). Pixels in the mask with value 255 are fully transparent, i.e. any drawing will have the same effect as if there was no mask. Pixels with values between 0 and 255 will modify the transparency of the pixels being drawn according to their value. Note that the transparency mask bitmap must be of the same pixel size as the target bitmap.

      Returns GrayscaleBitmap | null

    • set transparencyMask(mask: GrayscaleBitmap | null): void

      Gets or sets a GrayscaleBitmap providing transparency mask for all drawing and filling operations. Pixels in the mask with value 0 are fully opaque and will completely mask any drawing (i.e. the pixels of the target bitmap will remain unchanged). Pixels in the mask with value 255 are fully transparent, i.e. any drawing will have the same effect as if there was no mask. Pixels with values between 0 and 255 will modify the transparency of the pixels being drawn according to their value. Note that the transparency mask bitmap must be of the same pixel size as the target bitmap.

      Parameters

      Returns void

    • get updatedPixelMask(): BilevelBitmap | null

      Gets or sets a BilevelBitmap to monitor changes in the target bitmap. Its pixels are used as boolean flags indicating changes in the corresponding pixels of the target bitmap. When a pixel in the target bitmap is changed, the corresponding pixel in this bitmap is set to 1 (true). The BilevelBitmap must have the same pixel size as the target bitmap. It is user's responsibility to clear this bitmap (fill it with zeros) before any drawing on the target occurs.

      Returns BilevelBitmap | null

    • set updatedPixelMask(pixelMask: BilevelBitmap | null): void

      Gets or sets a BilevelBitmap to monitor changes in the target bitmap. Its pixels are used as boolean flags indicating changes in the corresponding pixels of the target bitmap. When a pixel in the target bitmap is changed, the corresponding pixel in this bitmap is set to 1 (true). The BilevelBitmap must have the same pixel size as the target bitmap. It is user's responsibility to clear this bitmap (fill it with zeros) before any drawing on the target occurs.

      Parameters

      Returns void

    • get width(): number

      Gets the width of the context, in context graphic units.

      Returns number

    Methods

    • Draws and fills an ellipse.

      Parameters

      • x: number

        The X coordinate of the rectangle enclosing an ellipse.

      • y: number

        The Y coordinate of the rectangle enclosing an ellipse.

      • width: number

        The width of the rectangle enclosing an ellipse.

      • height: number

        The height of the rectangle enclosing an ellipse.

      • drawEllipseOptions: DrawEllipseOptions

        The options for drawing and filling an ellipse.

      Returns void

    • Draws and fills an ellipse.

      Parameters

      • bounds: Bounds

        The rectangle enclosing an ellipse.

      • drawEllipseOptions: DrawEllipseOptions

        The options for drawing and filling an ellipse.

      Returns void

    • Draws an image or bitmap with specified size, location, and opacity.

      Parameters

      • image: ImageOrBitmap

        The image object to draw.

      • x: number

        The X coordinate of the destination rectangle.

      • y: number

        The Y coordinate of the destination rectangle.

      • width: number

        The width of the destination rectangle.

      • height: number

        The height of the destination rectangle.

      • OptionaldrawImageOptions: DrawImageOptions

        The options for drawing an image.

      Returns void

    • Draws an image or bitmap with specified size, location, and opacity.

      Parameters

      Returns void

    • Draws a Layout at the specified position.

      Parameters

      • layout: Layout | LayoutProperties

        An existing Layout object or the properties describing a new Layout settings.

      • x: number

        The X coordinate at which to draw the Layout.

      • y: number

        The Y coordinate at which to draw the Layout.

      Returns void

      const font = Font.getPdfFont(StandardPdfFont.CourierBold);
      const sb = new SolidBrush("CadetBlue");
      const lgb = new LinearGradientBrush({
      startColor: "Red", startPoint: { x: 0, y: 0 },
      gradientStops: [{ offset: 0.5, color: "Green" }],
      endColor: "Blue", endPoint: { x: 1, y: 0 }
      });
      const rgb = new RadialGradientBrush({ startColor: "Red", endColor: "Green" });

      const bitmap = new Bitmap(600, 420);
      const ctx = bitmap.newContext({ backColor: "Yellow" });
      const tf = new Format({ font: font, fontSize: 40 });

      ctx.drawLayout({
      maxWidth: 600,
      firstLineIndent: 50,
      runs: [
      { text: "test font Solid fill brush in DsPdfJS\n", format: tf,
      fillBrush: sb },
      { text: "test Linear Gradient fill in DsPdfJS\n", format: tf,
      fillBrush: lgb },
      { text: "test Radial Gradient fill that spans multiple lines in DsPdfJS",
      format: tf, fillBrush: rgb }
      ]
      }, 0, 0);

      const res: Uint8Array = bitmap.saveAsPng();
    • Draws a line between two points, using the specified pen.

      Parameters

      • x1: number

        The X coordinate of the first point.

      • y1: number

        The Y coordinate of the first point.

      • x2: number

        The X coordinate of the second point.

      • y2: number

        The Y coordinate of the second point.

      • pen: Pen | PenProperties

        The Pen object or settings for creating a pen.

      Returns void

    • Draws and fills a graphics path.

      Parameters

      Returns void

      const ctx = new BmpContext(800, 600, 0.5, "Honeydew");

      const path = ctx.createPath();

      path.beginFigure(100, 350);
      path.addLine(210, 310);
      path.addArc({
      size: { width: 183, height: 173 },
      sweepDirection: SweepDirection.Clockwise,
      point: { x: 550, y: 205 }
      });
      path.addLine(650, 170);
      path.addLine(680, 250);
      path.addLine(575, 285);
      path.addArc({
      size: { width: 183, height: 173 },
      sweepDirection: SweepDirection.Clockwise,
      point: { x: 240, y: 390 }
      });
      path.addLine(130, 430);
      path.endFigure(true);
      path.addEllipse({ x: 295, y: 197, width: 200, height: 190 });

      ctx.drawPath(path, {
      fillColor: "MediumAquamarine",
      lineColor: "Green",
      lineWidth: 20
      });

      const res: Uint8Array = ctx.bitmap.saveAsPng();
    • Draws and fills a rectangle or rounded rectangle.

      Parameters

      • x: number

        The X coordinate of the rectangle.

      • y: number

        The Y coordinate of the rectangle.

      • width: number

        The width of the rectangle.

      • height: number

        The height of the rectangle.

      • drawRectangleOptions: DrawRectangleOptions

        The options for drawing and filling a rectangle.

      Returns void

    • Draws and fills a rectangle or rounded rectangle.

      Parameters

      Returns void

    • Draws a SvgDocument at a point specifying the position of SVG viewport. To specify the position of SVG content rather than viewport, see the drawSvgContent method.

      Parameters

      • svgDocument: SvgDocument

        The SvgDocument to draw.

      • x: number

        The X coordinate of SVG viewport.

      • y: number

        The Y coordinate of SVG viewport.

      • Optionalopacity: number

        The opacity factor to be applied to SVG content, between 0.0 (fully transparent) and 1.0 (fully opaque). The default is 1.0.

      Returns void

      const svgDoc = SvgDocument.load(svgData);
      const margin = 50;

      const rect = svgDoc.measure(0, 0);
      const ctx = new BmpContext(
      rect.width + margin * 2,
      rect.height + margin * 2,
      0.7,
      "Linen"
      });
      ctx.slowAntialiasing = true;
      ctx.drawSvg(svgDoc, -rect.x + margin, -rect.y + margin);

      const res: Uint8Array = ctx.bitmap.saveAsPng();
    • Draws the content of a specified SvgDocument at a point specifying the top-left corner of SVG content. To specify the position of SVG viewport rather than content, see the drawSvg method.

      Parameters

      • svgDocument: SvgDocument

        The SvgDocument to draw.

      • x: number

        The X coordinate of SVG content.

      • y: number

        The Y coordinate of SVG content.

      • Optionalopacity: number

        The opacity factor to be applied to SVG content, between 0.0 (fully transparent) and 1.0 (fully opaque). The default is 1.0.

      Returns void

    • Draws the content of a specified SvgDocument, resizing the content to fit into a specified rectangle. To draw the SVG resizing its viewport rather than just the content, see the drawSvgToRect method.

      Parameters

      • svgDocument: SvgDocument

        The SvgDocument to draw.

      • contentX: number

        The X coordinate of the target rectangle for SVG content.

      • contentY: number

        The Y coordinate of the target rectangle for SVG content.

      • contentWidth: number

        The width of the target rectangle for SVG content.

      • contentHeight: number

        The height of the target rectangle for SVG content.

      • Optionalopacity: number

        The opacity factor to be applied to SVG content, between 0.0 (fully transparent) and 1.0 (fully opaque). The default is 1.0.

      Returns void

    • Draws the content of a specified SvgDocument, resizing the content to fit into a specified rectangle. To draw the SVG resizing its viewport rather than just the content, see the drawSvgToRect method.

      Parameters

      • svgDocument: SvgDocument

        The SvgDocument to draw.

      • contentBounds: Bounds

        The target rectangle for SVG content.

      • Optionalopacity: number

        The opacity factor to be applied to SVG content, between 0.0 (fully transparent) and 1.0 (fully opaque). The default is 1.0.

      Returns void

    • Draws a SvgDocument, resizing its viewport to fit into the specified rectangle. To draw just the content of the SVG ignoring viewport position, see the drawSvgToContentRect method.

      Parameters

      • svgDocument: SvgDocument

        The SvgDocument to draw.

      • x: number

        The X coordinate of the target rectangle for SVG viewport.

      • y: number

        The Y coordinate of the target rectangle for SVG viewport.

      • width: number

        The width of the target rectangle for SVG viewport.

      • height: number

        The height of the target rectangle for SVG viewport.

      • Optionalopacity: number

        The opacity factor to be applied to SVG content, between 0.0 (fully transparent) and 1.0 (fully opaque). The default is 1.0.

      Returns void

    • Draws a SvgDocument, resizing its viewport to fit into the specified rectangle. To draw just the content of the SVG ignoring viewport position, see the drawSvgToContentRect method.

      Parameters

      • svgDocument: SvgDocument

        The SvgDocument to draw.

      • bounds: Bounds

        The target rectangle for SVG viewport.

      • Optionalopacity: number

        The opacity factor to be applied to the SVG content, between 0.0 (fully transparent) and 1.0 (fully opaque). The default is 1.0.

      Returns void

    • Draws text using a specified format at the specified position.

      Parameters

      • text: string

        The text to draw.

      • format: Format

        The text format to use.

      • x: number

        The X coordinate at which to draw the text.

      • y: number

        The Y coordinate at which to draw the text.

      • OptionalmaxWidth: number | null

        If provided, specifies the maximum width of text.

      Returns void

    • Draws text using a specified attributes at a specified location.

      Parameters

      • text: string

        The text to draw.

      • font: Font

        The font to use.

      • fontSize: number

        The font size.

      • foreColor: Color

        The text color.

      • x: number

        The X coordinate at which to draw the text.

      • y: number

        The Y coordinate at which to draw the text.

      • OptionalmaxWidth: number | null

        If provided, specifies the maximum width of text.

      Returns void

    • Draws a text run at the specified position.

      Parameters

      • textRun: RunProperties

        The formatted text section to draw.

      • x: number

        The X coordinate at which to draw the text.

      • y: number

        The Y coordinate at which to draw the text.

      • OptionalmaxWidth: number | null

        If provided, specifies the maximum width of text.

      Returns void

      const pericFont = Font.load(await Util.loadFontAsArray("peric.ttf"));
      const emojiFont = Font.load(await Util.loadFontAsArray("seguiemj.ttf"));

      const fontColl = new FontCollection();
      fontColl.loadFont(await Util.loadFontAsArray("arial.ttf"));

      const g = new BmpContext(540, 320, 2, "FloralWhite");
      g.fontCollection = fontColl;

      g.drawText("Peric Font", pericFont, 40, "Black", 4, 90);
      g.drawText({ text: "Arial Font", fontFamily: "Arial", fontSize: 20 }, 300, 110);
      g.drawText({
      text: "Emoji: " + String.fromCodePoint(0x1F433, 0x1F349, 0x1F367),
      font: emojiFont,
      fontSize: 40,
      paletteIndex: 0
      }, 4, 140);

      const res: Uint8Array = g.bitmap.saveAsPng();
    • Measures text using a specified Format.

      Parameters

      • text: string

        The string to measure.

      • format: Format

        The text format to use.

      • OptionalmaxWidth: number | null

        If provided, specifies the maximum width of text.

      Returns Size

      The actual size needed to draw the text.

    • Measures text using a specified font, font size and layout width.

      Parameters

      • text: string

        The string to measure.

      • font: Font

        The font to use.

      • fontSize: number

        The font size to use.

      • OptionalmaxWidth: number | null

        If provided, specifies the maximum width of text.

      Returns Size

      The actual size needed to draw the text.

    • Measures the size of the given text run.

      Parameters

      • textRun: RunProperties

        The formatted text section to measure.

      • OptionalmaxWidth: number | null

        If provided, specifies the maximum width of text.

      Returns Size

      The actual size needed to draw the text.

    • Removes the last clip. After this method is called, the last clip is no longer applied to subsequent drawing operations.

      Returns void

    • Stops redirecting drawing operations to the transparency layer that was created by the last pushLayer call.

      Returns void

    • Restores the previously pushed transformation from the stack.

      Returns void

    • Specifies a rectangle to which all subsequent drawing operations are clipped.

      Parameters

      • x: number

        The X coordinate of the clipping rectangle.

      • y: number

        The Y coordinate of the clipping rectangle.

      • width: number

        The width of the clipping rectangle.

      • height: number

        The height of the clipping rectangle.

      Returns void

    • Specifies a rectangle to which all subsequent drawing operations are clipped.

      Parameters

      • bounds: Bounds

        The clipping rectangle.

      Returns void

    • Specifies a path to which all subsequent drawing operations are clipped.

      Parameters

      Returns void

    • Adds a transparency layer to the target surface. That layer receives all subsequent drawing operations until popLayer is called.

      Parameters

      • opacity: number

        An opacity value that is applied uniformly to all drawings in the layer when compositing to the backplate. The value is between 0.0 and 1.0.

      • OptionalcontentBounds: Bounds | null

        The content bounds of the transparency layer. Content won't render outside these bounds. If not set, the content bounds are effectively taken to be the bounds of the target surface.

      Returns void

    • Applies the rotation transformation.

      Parameters

      • angle: number

        The rotation angle.

      • OptionalangleUnits: AngleUnits

        The angle units. The default is Degrees.

      • Optionalcx: number

        The optional center point X offset.

      • Optionalcy: number

        The optional center point Y offset.

      Returns void

    • Applies the scaling transformation.

      Parameters

      • scaleFactor: number

        The value to scale by on the X and Y axes.

      • Optionalcx: number

        The optional center point X offset.

      • Optionalcy: number

        The optional center point Y offset.

      Returns void

    • Applies the scaling transformation.

      Parameters

      • scaleX: number

        The value to scale by on the X axis.

      • scaleY: number

        The value to scale by on the Y axis.

      • Optionalcx: number

        The optional center point X offset.

      • Optionalcy: number

        The optional center point Y offset.

      Returns void

    • Applies the skew transformation.

      Parameters

      • angleX: number

        The X angle.

      • angleY: number

        The Y angle.

      • OptionalangleUnits: AngleUnits

        The angle units. The default is Degrees.

      • Optionalcx: number

        The optional center point X offset.

      • Optionalcy: number

        The optional center point Y offset.

      Returns void

    • Applies the skew transformation along the X axis.

      Parameters

      • angle: number

        The X angle.

      • OptionalangleUnits: AngleUnits

        The angle units. The default is Degrees.

      Returns void

    • Applies the skew transformation along the Y axis.

      Parameters

      • angle: number

        The Y angle.

      • OptionalangleUnits: AngleUnits

        The angle units. The default is Degrees.

      Returns void

    • Applies the translation transformation.

      Parameters

      • offsetX: number

        The horizontal offset.

      • offsetY: number

        The vertical offset.

      Returns void