mvc display pdf in browser : Extract images pdf application Library utility azure asp.net windows visual studio 0131473816_book18-part35

wxFont
You use font objects for specifying how text will appear when drawn  on  a
device context.A font has the following properties:
The point size specifies the maximum height of the text in points (1/72 of
an inch). wxWidgets will choose the closest match it can if the platform is not
using scalable fonts.
The font  family specifies  one  of  a  small  number  of  family  names, as
described in Table 5-4. Specifying a family instead of an actual face name
makes applications be more portable because you can’t usually rely on a par-
ticular typeface being available on all platforms.
The style can be 
wxNORMAL
,
wxSLANT,
or 
wxITALIC
.
wxSLANT
may not be imple-
mented for all platforms and fonts.
The weight is one of 
wxNORMAL
,
wxLIGHT,
or 
wxBOLD
.
A font’s underline can be on (
true
) or off (
false
).
The face name is optional and specifies a particular typeface. If empty, a
default typeface will be chosen from the family specification.
The optional encoding specifies the mapping between the character codes
used in the program and the letters that are drawn onto the device context.
Please see Chapter 16, “Writing International Applications,” for more on this
topic.
Table 5-4 Font Family Identifiers
Identifier 
Example 
Description  
wxFONTFAMILY_SWISS 
A sans-serif font—often 
Helvetica or  Arial depending
on platform.
wxFONTFAMILY_ROMAN 
A formal, serif font.
wxFONTFAMILY_SCRIPT
A handwriting font.
wxFONTFAMILY_MODERN 
A fixed pitch font,often 
Courier.
wxFONTFAMILY_DECORATIVE 
A decorative font.
wxFONTFAMILY_DEFAULT 
wxWidgets chooses a default 
family.
You can create a font with the default constructor or by specifying the proper-
ties listed in Table 5-4.
There  are  some  stock  font  objects  that  you  can  use:
wxNORMAL_FONT
,
wxSMALL_FONT
,
wxITALIC_FONT
,and 
wxSWISS_FONT
.These have the size of the stan-
dard system font (
wxSYS_DEFAULT_GUI_FONT
), apart from 
wxSMALL_FONT,
which is
two  points  smaller. You  can  also  use 
wxSystemSettings::GetFont
to  retrieve
standard fonts.
Drawing Tools
145
Extract images pdf - Select, copy, paste PDF images in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support PDF Image Extraction from a Page, a Region on a Page, and PDF Document
extract images from pdf c#; how to extract images from pdf files
Extract images pdf - VB.NET PDF Image Extract Library: Select, copy, paste PDF images in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support PDF Image Extraction from a Page, a Region on a Page, and PDF Document
extract jpg pdf; extract image from pdf
To use a font object, pass it to 
wxDC::SetFont
before performing text oper-
ations, in particular 
DrawText
and 
GetTextExtent
.
Here are some examples of font creation.
wxFont font(12, wxFONTFAMILY_ROMAN, wxITALIC, wxBOLD, false);
wxFont font(10, wxFONTFAMILY_SWISS, wxNORMAL, wxBOLD, true,
wxT(“Arial”), wxFONTENCODING_ISO8859_1));
wxFont font(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT));
wxFont
has an associated list,
wxTheFontList
,which you can use to find a previ-
ously created font or add a new one:
wxFont* font = wxTheFontList->FindOrCreateFont(12, wxSWISS,
wxNORMAL, wxNORMAL);
As with the pen and brush lists, use this with moderation because the fonts
will be deleted only when the application exits.You can remove a font from the
list without deleting it by using 
RemoveFont
.
We’ll  see some examples  of working with text  and  fonts later in the
chapter. Also, you may like to play with the font demo in 
samples/font
(see
Figure 5-1). It lets you set a font to see how some text will appear, and you can
change the font size and other properties.
146
Drawing and Printing Chapter 5
Figure 5-1 wxWidgets font demo
C# PDF Text Extract Library: extract text content from PDF file in
Ability to extract highlighted text out of PDF document. Image text extraction control provides text extraction from PDF images and image files.
extract color image from pdf in c#; extract images from pdf file
VB.NET PDF Text Extract Library: extract text content from PDF
Extract highlighted text out of PDF document. Image text extraction control provides text extraction from PDF images and image files.
how to extract pictures from pdf files; how to extract images from pdf
wxPalette
A palette is a table, often with a size of 256, that maps index values to the red,
green, and blue values of the display colors. It’s normally used when the dis-
play has a very limited number of colors that need to be shared between appli-
cations. By setting a palette for a client device context, an application’s color
needs can be balanced with the needs of other applications. It is also used to
map the colors of a low-depth bitmap to the available colors, and so 
wxBitmap
has an optional associated 
wxPalette
object.
Because most computers now have full-color displays, palettes are rarely
needed. RGB colors specified in an application are mapped to the nearest dis-
play color with no need for a palette.
wxPalette
can be created by passing a size and three arrays (
unsigned
char*
) for each of the red, green,and blue components.You can query the num-
ber of colors with 
GetColoursCount
.To find the red, green, and blue values for a
given index, use 
GetRGB
,and you can find an index value for given red, green,
and blue values with 
GetPixel
.
Set  the  palette  into  a  client, window, or  memory  device  context  with
wxDC::SetPalette
.For example, you can set the palette obtained from a low-
depth 
wxBitmap
you are about to draw, so the system knows how to map the
index values to device colors. When using drawing functions that use 
wxColour
with a device context that has a palette set, the RGB color will be mapped
automatically to the  palette index by the  system, so  choose a  palette that
closely matches the colors you will be using.
Another use for 
wxPalette
is to query a 
wxImage
or 
wxBitmap
for the colors
in a low-color image that was loaded from a file, such as a GIF. If there is an
associated 
wxPalette
object, it will give you a quick way to identify the unique
colors in the original file, even though the image will have been converted to
an RGB representation. Similarly, you can create and associate a palette with
wxImage
that is to be saved in a reduced-color format. For example, the fol-
lowing fragment loads a PNG file and saves it as an 8-bit Windows bitmap file:
// Load the PNG
wxImage image(wxT(“image.png”), wxBITMAP_TYPE_PNG);
// Make a palette
unsigned char* red = new unsigned char[256];
unsigned char* green = new unsigned char[256];
unsigned char* blue = new unsigned char[256];
for (size_t i = 0; i < 256; i ++)
{
red[i] = green[i] = blue[i] = i;
}
wxPalette palette(256, red, green, blue);
// Set the palette and the BMP depth
image.SetPalette(palette);
Drawing Tools
147
C# Create PDF from images Library to convert Jpeg, png images to
C#.NET Project DLLs for Conversion from Images to PDF in C#.NET Program. C# Example: Convert More than Two Type Images to PDF in C#.NET Application.
extract image from pdf c#; extract images pdf
VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.
VB.NET: Extract All Images from PDF Document. This is an example that you can use it to extract all images from PDF document. ' Get page 3 from the document.
some pdf image extractor; extract pdf pages to jpg
image.SetOption(wxIMAGE_OPTION_BMP_FORMAT, wxBMP_8BPP_PALETTE);
// Save the file
image.SaveFile(wxT(“image.bmp”), wxBITMAP_TYPE_BMP);
More realistic code would “quantize” the image to reduce the number of colors;
see “Color Reduction” in Chapter 10, “Programming with Images,” for use of
the 
wxQuantize
class to do this.
wxWidgets defines a null palette object,
wxNullPalette
.
D
EVICE
C
ONTEXT
D
RAWING
F
UNCTIONS
In this section, we’ll take a closer look at how we draw on device contexts.The
major functions are summarized in Table 5-5.We cover most of them in the fol-
lowing sections, and you can also find more details in the reference manual.
Table 5-5 Device Context Functions
Blit 
Copies from one device context to another.You can 
specify how much of the original to draw,where draw-
ing should start, the logical function to use,and 
whether to use a mask if the source is a memory 
device context.
Clear
Fills the device context with the current background 
brush.
SetClippingRegion 
Sets and destroys the clipping region,which restricts 
DestroyClippingRegion
drawing to a specified area.The clipping region can 
GetClippingBox 
be specified as a rectangle or a 
wxRegion
.Use 
GetClippingBox
to get the rectangle surrounding the 
current clipping region.
DrawArc 
Draws an arc or elliptic arc using the current pen and
DrawEllipticArc
brush.
DrawBitmap 
Draws a 
wxBitmap
or 
wxIcon
at the specified location.
DrawIcon 
The bitmap may have a mask to specify transparency.
DrawCircle
Draws a circle using the current pen and brush.
DrawEllipse
Draws an ellipse using the current pen and brush.
DrawLine
Draws a line or number of lines using the current 
DrawLines
pen.The last point of the line is not drawn.
DrawPoint
Draws a point using the current pen.
DrawPolygon  
DrawPolygon
draws a filled polygon using an array of
DrawPolyPolygon
points or list of pointers to points,adding an optional 
offset coordinate.wxWidgets automatically closes the 
first and last points.
DrawPolyPolygon
draws one or 
more polygons at once,which can be a more efficient 
operation on some platforms.
148
Drawing and Printing Chapter 5
C# PDF Convert to Images SDK: Convert PDF to png, gif images in C#
Professional .NET library and Visual C# source code for creating high resolution images from PDF in C#.NET class. Cut and paste any areas in PDF pages to images.
pdf image extractor; extract image from pdf using
C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
Page: Extract, Copy and Paste PDF Pages. Easy to Use C# Code to Extract PDF Pages, Copy Pages from One PDF File and Paste into Others in C#.NET Program.
extract text from pdf image; extract image from pdf file
DrawRectangle 
Draws a rectangle or rounded rectangle using the
DrawRoundedRectangle 
current pen and brush.
DrawText 
Draws a text string,or rotated text string, at the 
DrawRotatedText
specified point using the current text font and the 
current text foreground and background colors.
DrawSpline
Draws a spline between all given control points,
using the current pen.
FloodFill
Flood fills the device context starting from the given 
point, using the current brush color.
Ok
Returns 
true
if the device context is OK to use.
SetBackground 
Sets and gets the background brush used in 
Clear
GetBackground 
and in functions that use a complex logical function.
The default is 
wxTRANSPARENT_BRUSH
.
SetBackgroundMode 
Sets and gets the background mode for drawing
GetBackgroundMode
text:
wxSOLID
or 
wxTRANSPARENT
.Normally,you will 
want to set the mode to 
wxTRANSPARENT
(the default) 
so the existing background will be kept when draw-
ing text.
SetBrush 
Sets and gets the brush to be used to fill shapes in
GetBrush
subsequent drawing operations.The initial value of 
the brush is undefined.
SetPen 
Sets and gets the pen to be used to draw the outline
GetPen 
of shapes in subsequent drawing operations.The ini-
tial value of the pen is undefined.
SetFont 
Sets and gets the font to be used in 
DrawText
,
GetFont 
DrawRotatedText,
and 
GetTextExtent
calls.The ini-
tial value of the font is undefined.
SetPalette 
Sets and gets 
wxPalette
object mapping index values
GetPalette 
to RGB colors.
SetTextForeground 
Sets and gets the color to be used for text foreground
GetTextForeground 
and background.The defaults are black and white,
SetTextBackground 
respectively.
GetTextBackground 
SetLogicalFunction 
The logical function determines how a source pixel
GetLogicalFunction 
from a pen or brush color,or source device context if 
using 
Blit
,combines with a destination pixel in the 
current device context.The default is 
wxCOPY
,which 
simply draws with the current color.
GetPixel 
Returns the color at the given point.This is not 
implemented for 
wxPostScriptDC
and 
wxMetafileDC
.
GetTextExtent 
Returns metrics for a given text string.
GetPartialTextExtents 
GetSize 
Returns the dimensions of the device in device units
GetSizeMM 
or millimeters.
Device Context Drawing Functions
149
(continues)
VB.NET Create PDF from images Library to convert Jpeg, png images
VB.NET Guide for Converting Raster Images to PDF File Using VB.NET Sample Code. VB.NET Example of More than Two Images to PDF Conversion. This VB.
pdf image text extractor; extract images from pdf files
C# PDF Convert to Jpeg SDK: Convert PDF to JPEG images in C#.net
Following demo code will show how to convert all PDF pages to Jpeg images with C# .NET. // Load a PDF file. String inputFilePath
extract images from pdf acrobat; extract photos from pdf
Table 5-5 Device Context Functions (Continued)
StartDoc
Starts and ends a document.This is only applicable
EndDoc 
to printer device contexts.When 
StartDoc
is called,a 
message will be shown as the document is printed,
and 
EndDoc
will hide the message box.
StartPage 
Starts 
and ends a page.This is only applicable to
EndPage 
printer device contexts.
DeviceToLogicalX
Converts device coordinates to logical coordinates,
DeviceToLogicalXRel  
either absolute (for positions) or relative (for widths
DeviceToLogicalY 
and heights).
DeviceToLogicalYRel
LogicalToDeviceX 
Converts logical coordinates to device coordinates,
LogicalToDeviceXRel  
either absolute (for positions) or relative (for widths
LogicalToDeviceY 
and heights).
LogicalToDeviceYRel
SetMapMode 
As described earlier, this determines (along with
GetMapMode 
SetUserScale
) how logical units are converted to 
device units.
SetAxisOrientation 
Sets the x- and y-axis orientation:the direction from 
lowest to highest values on the axis.The default ori-
entation is to have the x-axis from left to right (
true
and the y-axis from top to bottom (
false
).
SetDeviceOrigin 
Sets and gets the device origin.You can use this to
GetDeviceOrigin 
place a graphic in a particular place on a page, for 
example.
SetUserScale 
Sets and gets the scale to be applied when converting
GetUserScale 
from logical units to device units.
Drawing Text
The way text is drawn on a device context with 
DrawText
is determined by the
current font, the background mode (transparent or solid drawing), and the text
foreground and background colors. If the background mode is 
wxSOLID
,the area
behind  the  text  will  be  drawn  in  the  current  background  color, and  if
wxTRANSPARENT
,the text will be drawn without disturbing the background.
Pass a string and either two integers or a 
wxPoint
to 
DrawText
.The text
will be drawn with the given location at the very top-left of the string. Here’s a
simple example of drawing a text string:
// Draw a text string on a window at the given point
void DrawTextString(wxDC& dc, const wxString& text,
const wxPoint& pt)
{
wxFont font(12, wxFONTFAMILY_SWISS, wxNORMAL, wxBOLD);
dc.SetFont(font);
dc.SetBackgroundMode(wxTRANSPARENT);
150
Drawing and Printing Chapter 5
dc.SetTextForeground(*wxBLACK);
dc.SetTextBackground(*wxWHITE);
dc.DrawText(text, pt);
}
You can also use the device context function 
DrawRotatedText
to draw text at an
angle by specifying the angle in degrees as the last parameter. The following
code  draws  text  at  45-degree  increments, and  the  result  is  illustrated  in
Figure 5-2.
wxFont font(20, wxFONTFAMILY_SWISS, wxNORMAL, wxNORMAL);
dc.SetFont(font);
dc.SetTextForeground(wxBLACK);
dc.SetBackgroundMode(wxTRANSPARENT);
for (int angle = 0; angle < 360; angle += 45)
dc.DrawRotatedText(wxT(“Rotated text...”), 300, 300, angle);
Device Context Drawing Functions
151
Figure 5-2 Drawing rotated text
On Windows, only TrueType fonts can be drawn rotated. Be aware that the
stock object 
wxNORMAL_FONT
is not TrueType.
Often, you’ll need to find out how much space text will take on a device
context, which you can do by passing 
wxCoord
(integer) pointers to the function
GetTextExtent
.Its prototype is
void GetTextExtent(const wxString& string,
wxCoord* width, wxCoord* height,
wxCoord* descent = NULL, wxCoord* externalLeading = NULL,
wxFont* font = NULL);
The default arguments mean that you can call it just to find the overall width
and height the string occupies, or you can pass extra arguments to get further
text dimensions. If you  imagine the  bottoms of the characters sitting  on  a
baseline, the descent is how far below the baseline the characters extend. The
letter “g,” for example, extends below the  baseline. External leading is the
space between the descent of one line and the top of the line below. Finally, you
can provide a font to be used in place of the current device context font.
Here’s code that uses 
GetTextExtent
to center a string on a window:
void CenterText(const wxString& text, wxDC& dc, wxWindow* win)
{
// Set font, background mode for drawing text,
// and text color
dc.SetFont(*wxNORMAL_FONT);
dc.SetBackgroundMode(wxTRANSPARENT);
dc.SetTextForeground(*wxRED);
// Get window and text dimensions
wxSize sz = win->GetClientSize();
wxCoord w, h;
dc.GetTextExtent(text, & w, & h);
// Center the text on the window, but never
// draw at a negative position.
int x = wxMax(0, (sz.x - w)/2);
int y = wxMax(0, (sz.y - h)/2);
dc.DrawText(msg, x, y);
}
You can also use 
GetPartialTextExtents
to retrieve the width of each character,
passing a 
wxString
and a 
wxArrayInt
reference to receive the character width
values. If you need accurate information about individual character widths,
this can be quicker on some  platforms  than calling 
GetTextExtent
for each
character.
Drawing Lines and Shapes
The simpler drawing primitives include points, lines, rectangles, circles, and
ellipses. The current pen determines the line or outline color, and the brush
determines the fill color. For example:
void DrawSimpleShapes(wxDC& dc)
{
// Set line color to black, fill color to green
dc.SetPen(wxPen(*wxBLACK, 2, wxSOLID));
dc.SetBrush(wxBrush(*wxGREEN, wxSOLID));
// Draw a point
dc.DrawPoint(5, 5);
152
Drawing and Printing Chapter 5
// Draw a line
dc.DrawLine(10, 10, 100, 100);
// Draw a rectangle at (50, 50) with size (150, 100)
// and hatched brush
dc.SetBrush(wxBrush(*wxBLACK, wxCROSS_HATCH));
dc.DrawRectangle(50, 50, 150, 100);
// Set a red brush
dc.SetBrush(*wxRED_BRUSH);
// Draw a rounded rectangle at (150, 20) with size (100, 50)
// and corner radius 10
dc.DrawRoundedRectangle(150, 20, 100, 50, 10);
// Draw another rounded rectangle with no border
dc.SetPen(*wxTRANSPARENT_PEN);
dc.SetBrush(wxBrush(*wxBLUE));
dc.DrawRoundedRectangle(250, 80, 100, 50, 10);
// Set a black pen and black brush
dc.SetPen(wxPen(*wxBLACK, 2, wxSOLID));
dc.SetBrush(*wxBLACK);
// Draw a circle at (100, 150) with radius 60
dc.DrawCircle(100, 150, 60);
// Set a white brush
dc.SetBrush(*wxWHITE);
// Draw an ellipse that fills the given rectangle
dc.DrawEllipse(wxRect(120, 120, 150, 50));
}
This produces the graphic in Figure 5-3.
Device Context Drawing Functions
153
Figure 5-3 Drawing simple shapes
Note that by convention, the last point of a line is not drawn.
154
Drawing and Printing Chapter 5
Figure 5-4 A circular arc
To draw a circular arc, use 
DrawArc
,taking a starting point, end point,
and center point.The arc is drawn counterclockwise from the starting point to
the end. For example:
// Draw a cup-shaped arc
int x = 10, y = 200, radius = 20;
dc.DrawArc(x–radius, y, x + radius, y, x, y);
This produces the arc shown in Figure 5-4.
Figure 5-5 An elliptical arc
For an elliptic arc,
DrawEllipticArc
takes the position and size of a rec-
tangle that  contains  the arc, plus the  start and  end  of the  arc in degrees
specified from the three o’clock position from the center of the rectangle.If the
start and end points are the same, a complete ellipse will be drawn. The fol-
lowing code draws the arc shown in Figure 5-5.
// Draws an elliptical arc within a rectangle at (10, 100),
// size 200x40. Arc extends from 270 to 420 degrees.
dc.DrawEllipticArc(10, 100, 200, 40, 270, 420);
If you need to draw a lot of lines quickly,
DrawLines
can be more efficient
than  using 
DrawLine
multiple  times. The  following  example  draws  lines
between ten points, at an offset of (100, 100).
wxPoint points[10];
for (size_t i = 0; i < 10; i++)
{
pt.x = i*10; pt.y = i*20;
}
Documents you may be interested
Documents you may be interested