c# convert pdf to image free library : Make pdf form editable in reader software control project winforms web page html UWP print60-part2114

ThetextAlignp600
attribute's allowed keywords are as follows:
start
Align to the start edge of the text (left side in left-to-right text, right side in right-to-left text).
end
Align to the end edge of the text (right side in left-to-right text, left side in right-to-left text).
left
Align to the left.
right
Align to the right.
center
Align to the center.
ThetextBaselinep600
attribute's allowed keywords correspond to alignment points in the font:
The keywords map to these alignment points as follows:
top
The top of the em square
hanging
The hanging baseline
middle
The middle of the em square
alphabetic
The alphabetic baseline
ideographic
The ideographic baseline
bottom
The bottom of the em square
Thedirectionp600
attribute's allowed keywords are as follows:
601
Make pdf form editable in reader - extract form data from PDF in C#.net, ASP.NET, MVC, Ajax, WPF
Help to Read and Extract Field Data from PDF with a Convenient C# Solution
pdf data extraction to excel; java read pdf form fields
Make pdf form editable in reader - VB.NET PDF Form Data Read library: extract form data from PDF in vb.net, ASP.NET, MVC, Ajax, WPF
Convenient VB.NET Solution to Read and Extract Field Data from PDF
extracting data from pdf into excel; edit pdf form in reader
ltr
Treat input to thetext preparation algorithmp602
as left-to-right text.
rtl
Treat input to thetext preparation algorithmp602
as right-to-left text.
inherit
Default to the directionality of thecanvasp583
element orDocumentp103
as appropriate.
Thetext preparation algorithmis as follows. It takes as input a stringtext, aCanvasTextDrawingStylesp590
objecttarget, and an optional
lengthmaxWidth. It returns an array of glyph shapes, each positioned on a common coordinate space, aphysical alignmentwhose value is one of
left,right, andcenter, and aninline box
. (Most callers of this algorithm ignore thephysical alignmentand theinline box
.)
1. IfmaxWidthwas provided but is less than or equal to zero, return an empty array.
2. Replace all thespace charactersp64
intextwith U+0020 SPACE characters.
3. Letfontbe the current font oftarget, as given by that object'sfontp600
attribute.
4. Apply the appropriate step from the following list to determine the value ofdirection:
If thetargetobject'sdirectionp600
attribute has the value "ltrp602
"
Letdirectionbe 'ltrp127
'.
If thetargetobject'sdirectionp600
attribute has the value "rtlp602
"
Letdirectionbe 'rtlp127
'.
If thetargetobject'sfont style source objectp600
is an element
Letdirectionbethe directionalityp127
of thetargetobject'sfont style source objectp600
.
If thetargetobject'sfont style source objectp600
is aDocumentp103
with a non-nulldocument element
Letdirectionbethe directionalityp127
of thetargetobject'sfont style source objectp600
'sdocument element
.
Otherwise
Letdirectionbe 'ltrp127
'.
5. Form a hypothetical infinitely-wide CSSline box
containing a singleinline box
containing the texttext, with all the properties at their initial
values except the'font'
property of theinline box
set tofont, the'direction'
property of theinline box
set todirection, and the'white-space'
property set to 'pre'.[CSS]p1159
6. IfmaxWidthwas provided and the hypothetical width of theinline box
in the hypotheticalline box
is greater thanmaxWidthCSS pixels
,
then changefontto have a more condensed font (if one is available or if a reasonably readable one can be synthesized by applying a
horizontal scale factor to the font) or a smaller font, and return to the previous step.
7. Theanchor pointis a point on theinline box
, and thephysical alignmentis one of the valuesleft,right, andcenter. These variables are
determined by thetextAlignp600
andtextBaselinep600
values as follows:
Horizontal position:
IftextAlignp600
isleftp601
IftextAlignp600
isstartp601
anddirectionis 'ltr'
IftextAlignp600
isendp601
anddirectionis 'rtl'
Let theanchor point's horizontal position be the left edge of theinline box
, and letphysical alignmentbeleft.
IftextAlignp600
isrightp601
IftextAlignp600
isendp601
anddirectionis 'ltr'
IftextAlignp600
isstartp601
anddirectionis 'rtl'
Let theanchor point's horizontal position be the right edge of theinline box
, and letphysical alignmentberight.
IftextAlignp600
iscenterp601
Let theanchor point's horizontal position be half way between the left and right edges of theinline box
, and letphysical alignment
becenter.
Vertical position:
602
C# PDF Convert to Text SDK: Convert PDF to txt files in C#.net
to convert target PDF document to other editable file formats should be noted here is that our PDF to text Thus, please make sure you have installed VS 2005 or
exporting data from excel to pdf form; save pdf forms in reader
VB.NET Image: Add Callout Annotation on Document and Image in VB.
document and image formats, such as PDF, Word, TIFF mainly contains two parts-that are editable text area guide that tells you how to make callout annotation
extract pdf data to excel; extract data from pdf using java
IftextBaselinep600
istopp601
Let theanchor point's vertical position be the top of the em box of the first available font of theinline box
.
IftextBaselinep600
ishangingp601
Let theanchor point's vertical position be the hanging baseline of the first available font of theinline box
.
IftextBaselinep600
ismiddlep601
Let theanchor point's vertical position be half way between the bottom and the top of the em box of the first available font of the
inline box
.
IftextBaselinep600
isalphabeticp601
Let theanchor point's vertical position be the alphabetic baseline of the first available font of theinline box
.
IftextBaselinep600
isideographicp601
Let theanchor point's vertical position be the ideographic baseline of the first available font of theinline box
.
IftextBaselinep600
isbottomp601
Let theanchor point's vertical position be the bottom of the em box of the first available font of theinline box
.
8. Letresultbe an array constructed by iterating over each glyph in theinline box
from left to right (if any), adding to the array, for each
glyph, the shape of the glyph as it is in theinline box
, positioned on a coordinate space usingCSS pixels
with its origin is at theanchor
point.
9. Returnresult,physical alignment, and the inline box.
4.12.5.1.5 Building paths
Objects that implement theCanvasPathp590
interface have apathp603
. Apathhas a list of zero or more subpaths. Each subpath consists of a list of
one or more points, connected by straight or curvedline segments, and a flag indicating whether the subpath is closed or not. A closed subpath is
one where the last point of the subpath is connected to the first point of the subpath by a straight line. Subpaths with only one point are ignored
when painting the path.
Pathsp603
have aneed new subpathflag. When this flag is set, certain APIs create a new subpath rather than extending the previous one. When a
pathp603
is created, itsneed new subpathp603
flag must be set.
When an object implementing theCanvasPathp590
interface is created, itspathp603
must be initialised to zero subpaths.
context.moveTop606(x,y)
path.moveTop606(x,y)
Creates a new subpath with the given point.
context.closePathp606()
path.closePathp606()
Marks the current subpath as closed, and starts a new subpath with a point the same as the start and end of the newly closed subpath.
context.lineTop606(x,y)
path.lineTop606(x,y)
Adds the given point to the current subpath, connected to the previous one by a straight line.
context.quadraticCurveTop606(cpx,cpy,x,y)
path.quadraticCurveTop606(cpx,cpy,x,y)
Adds the given point to the current subpath, connected to the previous one by a quadratic Bézier curve with the given control point.
context.bezierCurveTop606(cp1x,cp1y,cp2x,cp2y,x,y)
path.bezierCurveTop606(cp1x,cp1y,cp2x,cp2y,x,y)
Adds the given point to the current subpath, connected to the previous one by a cubic Bézier curve with the given control points.
Note
603
VB.NET PDF Convert to Text SDK: Convert PDF to txt files in vb.net
VB.NET control for batch converting PDF to editable & searchable users will be able to convert a PDF file or Before you get started, please make sure that you
extracting data from pdf forms to excel; online form pdf output
VB.NET Create PDF Library SDK to convert PDF from other file
Create and save editable PDF with a blank page, bookmarks, links Creating a PDF document is a good way to share your ideas because you can make sure that
can reader edit pdf forms; how to extract data from pdf to excel
context.arcTop606(x1,y1,x2,y2,radiusX[,radiusY,rotation] )
path.arcTop606(x1,y1,x2,y2,radiusX[,radiusY,rotation] )
Adds an arc with the given control points and radius to the current subpath, connected to the previous point by a straight line.
If two radii are provided, the first controls the width of the arc's ellipse, and the second controls the height. If only one is provided, or if
they are the same, the arc is from a circle. In the case of an ellipse, the rotation argument controls the clockwise inclination of the ellipse
relative to the x-axis.
Throws an"IndexSizeError"
DOMException
if the given radius is negative.
604
VB.NET Excel: How to Covert Excel Doc to PDF in VB.NET Application
document is not editable and the Excel document is editable. So when using Excel or PDF document on your for VB.NET programming, you need to make sure whether
extract table data from pdf; collect data from pdf forms
Process Multipage TIFF Images in Web Image Viewer| Online
Export multi-page TIFF image to a PDF; More image viewing & multipage TIFF files in Web Document Viewer, make sure that Load, Save an Editable Multi-page TIFF.
how to save fillable pdf form in reader; how to make pdf editable form reader
context.arcp606(x,y,radius,startAngle,endAngle[,anticlockwise] )
path.arcp606(x,y,radius,startAngle,endAngle[,anticlockwise] )
Adds points to the subpath such that the arc described by the circumference of the circle described by the arguments, starting at the
given start angle and ending at the given end angle, going in the given direction (defaulting to clockwise), is added to the path,
connected to the previous point by a straight line.
Throws an"IndexSizeError"
DOMException
if the given radius is negative.
context.ellipsep606(x,y,radiusX,radiusY,rotation,startAngle,endAngle[,anticlockwise] )
path.ellipsep606(x,y,radiusX,radiusY,rotation,startAngle,endAngle[,anticlockwise] )
Adds points to the subpath such that the arc described by the circumference of the ellipse described by the arguments, starting at the
given start angle and ending at the given end angle, going in the given direction (defaulting to clockwise), is added to the path,
connected to the previous point by a straight line.
Throws an"IndexSizeError"
DOMException
if the given radius is negative.
context.rectp607(x,y,w,h)
path.rectp607(x,y,w,h)
Adds a new closed subpath to the path, representing the given rectangle.
605
VB.NET TIFF: Convert TIFF to HTML Web Page Using VB.NET TIFF
information of TIFF file in a more editable file format This online article aims to make a detailed instruction on to HTML converters, like VB.NET PDF to HTML
pdf form field recognition; exporting pdf form to excel
VB.NET Image: Barcode Generator to Add UPC-A to Image, TIFF, PDF &
REFile.SaveDocumentFile(doc, "c:/upc-a.pdf", New PDFEncoder document, but also we can make a UPC A barcode imaging properties from the following parameter form.
how to flatten a pdf form in reader; extract data from pdf form fields
The following methods allow authors to manipulate thepathsp603
of objects implementing theCanvasPathp590
interface.
For objects implementing theCanvasDrawPathp588
andCanvasTransformp587
interfaces, the points passed to the methods, and the resulting
lines added tocurrent default pathp617
by these methods, must be transformed according to thecurrent transformation matrixp608
before being added
to the path.
ThemoveTo(x, y)method must create a new subpath with the specified point as its first (and only) point.
When the user agent is toensure there is a subpathfor a coordinate (x,y) on apathp603
, the user agent must check to see if thepathp603
has its
need new subpathp603
flag set. If it does, the user agent must create a new subpath with the point (x,y) as its first (and only) point, as if the
moveTo()p606
method had been called, and must then unset thepathp603
'sneed new subpathp603
flag.
TheclosePath()method must do nothing if the object's path has no subpaths. Otherwise, it must mark the last subpath as closed, create a new
subpath whose first point is the same as the previous subpath's first point, and finally add this new subpath to the path.
New points and the lines connecting them are added to subpaths using the methods described below. In all cases, the methods only modify the last
subpath in the object's path.
ThelineTo(x, y)method mustensure there is a subpathp606
for(x,y)if the object's path has no subpaths. Otherwise, it must connect the last
point in the subpath to the given point (x,y) using a straight line, and must then add the given point (x,y) to the subpath.
ThequadraticCurveTo(cpx, cpy, x, y)method mustensure there is a subpathp606
for(cpx,cpy), and then must connect the last point in
the subpath to the given point (x,y) using a quadratic Bézier curve with control point (cpx,cpy), and must then add the given point (x,y) to the
subpath.[BEZIER]p1158
ThebezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y)method mustensure there is a subpathp606
for(cp1x,cp1y), and then must connect
the last point in the subpath to the given point (x,y) using a cubic Bézier curve with control points (cp1x,cp1y) and (cp2x,cp2y). Then, it must add
the point (x,y) to the subpath.[BEZIER]p1158
ThearcTo(x1, y1, , x2, , y2, radiusX, radiusY, rotation)method must firstensure there is a subpathp606
for(x1,y1). Then, the
behaviour depends on the arguments and the last point in the subpath, as described below.
Negative values forradiusXorradiusYmust cause the implementation to throw an"IndexSizeError"
DOMException
. IfradiusYis omitted, user
agents must act as if it had the same value asradiusX.
Let the point (x0,y0) be the last point in the subpath, transformed by the inverse of thecurrent transformation matrixp608
(so that it is in the same
coordinate system as the points passed to the method).
If the point (x0,y0) is equal to the point (x1,y1), or if the point (x1,y1) is equal to the point (x2,y2), or if bothradiusXandradiusYare zero, then the
method must add the point (x1,y1) to the subpath, and connect that point to the previous point (x0,y0) by a straight line.
Otherwise, if the points (x0,y0), (x1,y1), and (x2,y2) all lie on a single straight line, then the method must add the point (x1,y1) to the subpath, and
connect that point to the previous point (x0,y0) by a straight line.
Otherwise, letThe Arcbe the shortest arc given by circumference of the ellipse that has radiusradiusXon the major axis and radiusradiusYon the
minor axis, and whose semi-major axis is rotatedrotationradians clockwise from the positive x-axis, and that has one point tangent to the half-
infinite line that crosses the point (x0,y0) and ends at the point (x1,y1), and that has a different point tangent to the half-infinite line that ends at the
point (x1,y1) and crosses the point (x2,y2). The points at which this ellipse touches these two lines are called the start and end tangent points
respectively. The method must connect the point (x0,y0) to the start tangent point by a straight line, adding the start tangent point to the subpath,
and then must connect the start tangent point to the end tangent point byThe Arc, adding the end tangent point to the subpath.
Thearc(x, y, radius, startAngle, endAngle, anticlockwise)andellipse(x, y, radiusX, , radiusY, , rotation,
startAngle, endAngle, anticlockwise)methods draw arcs.
Thearc()p606
method is equivalent to theellipse()p606
method in the case where the two radii are equal. When thearc()p606
method is
invoked, it must act as if theellipse()p606
method had been invoked with theradiusXandradiusYarguments set to the value of theradius
If the last subpath had more than one point in its list of points, then this is equivalent to adding a straight line connecting the last point back
to the first point, thus "closing" the shape, and then repeating the last (possibly implied)moveTo()p606
call.
Note
606
argument, therotationargument set to zero, and the other arguments set to the same values as their identically named arguments on the
arc()p606
method.
When theellipse()p606
method is invoked, it must proceed as follows. First, if the object's path has any subpaths, then the method must add a
straight line from the last point in the subpath to the start point of the arc. Then, it must add the start and end points of the arc to the subpath, and
connect them with an arc. The arc and its start and end points are defined as follows:
Consider an ellipse that has its origin at (x,y), that has a major-axis radiusradiusXand a minor-axis radiusradiusY, and that is rotated about its
origin such that its semi-major axis is inclinedrotationradians clockwise from the x-axis.
If theanticlockwiseargument is false andendAngle-startAngleis equal to or greater than2π, or, if theanticlockwiseargument istrueand
startAngle-endAngleis equal to or greater than2π, then the arc is the whole circumference of this ellipse, and the point atstartAnglealong this
circle's circumference, measured in radians clockwise from the ellipse's semi-major axis, acts as both the start point and the end point.
Otherwise, the points atstartAngleandendAnglealong this circle's circumference, measured in radians clockwise from the ellipse's semi-major
axis, are the start and end points respectively, and the arc is the path along the circumference of this ellipse from the start point to the end point,
going anti-clockwise if theanticlockwiseargument is true, and clockwise otherwise. Since the points are on the ellipse, as opposed to being simply
angles from zero, the arc can never cover an angle greater than2πradians.
Negative values forradiusXorradiusYmust cause the implementation to throw an"IndexSizeError"
DOMException
.
Therect(x, y, w, , h)method must create a new subpath containing just the four points (x,y), (x+w,y), (x+w,y+h), (x,y+h), in that order, with
those four points connected by straight lines, and must then mark the subpath as closed. It must then create a new subpath with the point (x,y) as
the only point in the subpath.
4.12.5.1.6Path2Dp591
objects
Path2Dp591
objects can be used to declare paths that are then later used on objects implementing theCanvasDrawPathp588
interface. In addition
to many of the APIs described in earlier sections,Path2Dp591
objects have methods to combine paths, and to add text to paths.
ThePath2D()constructor, when invoked, must return a newly createdPath2Dp591
object.
ThePath2D(path)constructor, when invoked, must return a newly createdPath2Dp591
object, to which the subpaths of the argument are added.
(In other words, it returns a copy of the argument.)
Even if the arc covers the entire circumference of the ellipse and there are no other points in the subpath, the path is not closed unless the
closePath()p606
method is appropriately invoked.
Note
path= newPath2Dp607()
Creates a new emptyPath2Dp591
object.
path= newPath2Dp607(path)
Creates a newPath2Dp591
object that is a copy of the argument.
path= newPath2Dp608(paths[,fillRule] )
Creates a newPath2Dp591
object that describes a path that outlines the givenpaths, using the given fill rule.
path= newPath2Dp608(d)
Creates a new path with the path described by the argument, interpreted as SVG path data.[SVG]p1163
path.addPathp608(path[,transform] )
Adds to the path the path given by the argument.
Note
Spec bugs:21939
607
ThePath2D(paths, fillRule)constructor, when invoked, must run the following steps:
1. Run the appropriate step from the following list, based on the constructor's second argument:
If it is "nonzero"
Letmerged pathbe apathp603
that consists of a set of non-overlapping subpaths that exactly outline the points from which, in
any of thepathsp603
provided in the constructor's first argument, the number of times a half-infinite straight line drawn from
that point crosses a subpath going in one direction is not equal to the number of times it crosses a subpath going in the other
direction.
If it is "evenodd"
Letmerged pathbe apathp603
that consists of a set of non-overlapping subpaths that exactly outline the points from which, in
any of thepathsp603
provided in the constructor's first argument, the number of times a half-infinite straight line drawn from
that point crosses that path is odd.
The subpaths inmerged pathmust be oriented such that for any point, the number of times a half-infinite straight line drawn from that
point crosses a subpath is even if and only if the number of times a half-infinite straight line drawn from that same point crosses a
subpath going in one direction is equal to the number of times it crosses a subpath going in the other direction.
2. Add all the subpaths inmerged pathto thePath2Dp591
object.
3. Set thePath2Dp591
object'sneed new subpathp603
flag.
ThePath2D(d)constructor must run the following steps:
1. Parse and interpret thedargument according to the SVG specification's rules for path data, thus obtaining an SVG path.[SVG]p1163
2. Let (x,y) be the last point in the SVG path.
3. Create a newPath2Dp591
object and add all the subpaths in the SVG path, if any, to thatPath2Dp591
object.
4. Create a new subpath in thePath2Dp591
object with (x,y) as the only point in the subpath.
5. Return thePath2Dp591
object as the constructed object.
TheaddPath(b, transform)method, when invoked on aPath2Dp591
objecta, must run the following steps:
1. If thePath2Dp591
objectbhas no subpaths, abort these steps.
2. Create a copy of all the subpaths inb. Let this copy be known asc.
3. Letmatrixbe the result ofcreating aDOMMatrixfrom a dictionary
transform.
4. Transform all the coordinates and lines incby the transform matrixmatrix.
5. Let (x,y) be the last point in the last subpath ofc.
6. Add all the subpaths inctoa.
7. Create a new subpath inawith (x,y) as the only point in the subpath.
4.12.5.1.7Transformations
Objects that implement theCanvasTransformp587
interface have acurrent transformation matrix, as well as methods (described in this section)
to manipulate it. When an object implementing theCanvasTransformp587
interface is created, its transformation matrix must be initialised to the
identity transform.
Thecurrent transformation matrixp608
is applied to coordinates when creating thecurrent default pathp617
, and when painting text, shapes, and
Path2Dp591
objects, on objects implementing theCanvasTransformp587
interface.
The resulting path could be empty. SVG defines error handling rules for parsing and applying path data.
Note
Spec bugs:28333
608
The transformations must be performed in reverse order.
Thescale(x, y)method must add the scaling transformation described by the arguments to thecurrent transformation matrixp608
. Thex
argument represents the scale factor in the horizontal direction and theyargument represents the scale factor in the vertical direction. The factors
are multiples.
Therotate(angle)method must add the rotation transformation described by the argument to thecurrent transformation matrixp608
. Theangle
argument represents a clockwise rotation angle expressed in radians.
Thetranslate(x, y)method must add the translation transformation described by the arguments to thecurrent transformation matrixp608
. Thex
argument represents the translation distance in the horizontal direction and theyargument represents the translation distance in the vertical
direction. The arguments are in coordinate space units.
Thetransform(a, b, c, , d, , e, f)method must replace thecurrent transformation matrixp608
with the result of multiplying the current
transformation matrix with the matrix described by:
a ce
b d f
0 01
ThegetTransform()method, when invoked, must return a newly createdDOMMatrix
representing a copy of thecurrent transformation
matrixp608
matrix of the context.
Most of the API usesDOMMatrix
objects rather than this API. This API remains mostly for historical reasons.
Note
For instance, if a scale transformation that doubles the width is applied to the canvas, followed by a rotation transformation that rotates
drawing operations by a quarter turn, and a rectangle twice as wide as it is tall is then drawn on the canvas, the actual result will be a
square.
Note
context.scalep609(x,y)
Changes thecurrent transformation matrixp608
to apply a scaling transformation with the given characteristics.
context.rotatep609(angle)
Changes thecurrent transformation matrixp608
to apply a rotation transformation with the given characteristics. The angle is in radians.
context.translatep609(x,y)
Changes thecurrent transformation matrixp608
to apply a translation transformation with the given characteristics.
context.transformp609(a,b,c,d,e,f)
Changes thecurrent transformation matrixp608
to apply the matrix given by the arguments as described below.
matrix=context.getTransformp609()
Returns a copy of thecurrent transformation matrixp608
, as a newly createdDOMMatrix
object.
context.setTransformp610(a,b,c,d,e,f)
Changes thecurrent transformation matrixp608
tothe matrix given by the arguments as described below.
context.setTransformp610(transform)
Changes thecurrent transformation matrixp608
tothe matrix represented by the passedDOMMatrixInit
dictionary.
context.resetTransformp610()
Changes thecurrent transformation matrixp608
to the identity transform.
Note
The argumentsa,b,c,d,e, andfare sometimes calledm11,m12,m21,m22,dx, anddyorm11,m21,m12,m22,dx, anddy. Care should
be taken in particular with the order of the second and third arguments (bandc) as their order varies from API to API and APIs sometimes
use the notationm12/m21and sometimesm21/m12for those positions.
Note
609
ThesetTransform(a, b, , c, , d, e, f)method must reset thecurrent transformation matrixp608
to the identity matrix, and then invoke the
transformp609
(a, b, c, d, e, f)method with the same arguments.
ThesetTransform(transform)method must reset thecurrent transformation matrixp608
to the value represented by the result ofcreating a
DOMMatrixfrom a dictionary
transform.
TheresetTransform()method must reset thecurrent transformation matrixp608
to the identity matrix.
4.12.5.1.8 Image sources for 2D rendering contexts
Some methods on theCanvasDrawImagep589
andCanvasFillStrokeStylesp588
interfaces take the union typeCanvasImageSourcep587
as
an argument.
This union type allows objects implementing any of the following interfaces to be used as image sources:
• HTMLOrSVGImageElementp586
(imgp280
orSVGimage
elements)
• HTMLVideoElementp326
(videop325
elements)
• HTMLCanvasElementp583
(canvasp583
elements)
• CanvasRenderingContext2Dp587
• ImageBitmapp880
When a user agent is required tocheck the usability of theimageargument, whereimageis aCanvasImageSourcep587
object, the user agent
must run these steps, which return eithergood,bad, oraborted:
1. If theimageargument is anHTMLOrSVGImageElementp586
object that is in thebrokenp283
state, then throw an"InvalidStateError"
DOMException
, returnaborted, and abort these steps.
2. If theimageargument is anHTMLOrSVGImageElementp586
object that is notfully decodablep287
, or if theimageargument is an
HTMLVideoElementp326
object whosereadyStatep351
attribute is eitherHAVE_NOTHINGp349
orHAVE_METADATAp349
, then returnbad
and abort these steps.
3. If theimageargument is anHTMLOrSVGImageElementp586
object with anintrinsic widthp56
orintrinsic heightp56
(or both) equal to zero,
then returnbadand abort these steps.
4. If theimageargument is anHTMLCanvasElementp583
object with either a horizontal dimension or a vertical dimension equal to zero,
then returnbadand abort these steps.
5. If theimageargument is anImageBitmapp880
object with its [[Detachedp98
]] internal slot value set to true, then throw an
"InvalidStateError"
DOMException
, returnaborted, and abort these steps.
6. Returngood.
When aCanvasImageSourcep587
object represents anHTMLOrSVGImageElementp586
, the element's image must be used as the source image.
Specifically, when aCanvasImageSourcep587
object represents an animated image in anHTMLOrSVGImageElementp586
, the user agent must
use the default image of the animation (the one that the format defines is to be used when animation is not supported or is disabled), or, if there is
no such image, the first frame of the animation, when rendering the image forCanvasRenderingContext2Dp587
APIs.
When aCanvasImageSourcep587
object represents anHTMLVideoElementp326
, then the frame at thecurrent playback positionp348
when the
method with the argument is invoked must be used as the source image when rendering the image forCanvasRenderingContext2Dp587
APIs,
This returned object is not live, so updating it will not affect thecurrent transformation matrixp608
, and updating thecurrent transformation
matrixp608
will not affect an already returnedDOMMatrix
.
Note
Although not formally specified as such,SVGimage
elements are expected to be implemented nearly identical toimgp280
elements. That
is,SVGimage
elements share the fundamental concepts and features ofimgp280
elements.
Note
TheImageBitmapp880
interface can be created from a number of other image-representing types, includingImageDatap591
.
Note
610
Documents you may be interested
Documents you may be interested