SixLabors Image Sharp How to Write text to Image c# - c#

I have searched for a long time. I know it is part of the extended package, but I cannot seem to find any examples. Even a hello world example on how to write text to an Image Sharp image. Thanks for any help.
public Image DragImage {
get{
SixLabors.ImageSharp.Image<Rgba32> ri = new((int)rect.Width,(int)rect.Height);
//FieldName on the ri Image just created
return ri;
} }

Related

Flip C# Telerik image from being upside down

I am attempting to past an image onto a pdf using Telerik in C#. The following code adds the image, but it's upside down. Telerik seems to paste it upside down no matter what rotation type I use on RotateFlip. The image should display UnUnU, but it's upside down and displays NuNuN. I added the image into the below code in base64.
How can I flip the image?
using (MemoryStream ms = new MemoryStream((byte[])Convert.FromBase64String("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")))
{
Image tmpimage = Image.FromStream(ms);
tmpimage.RotateFlip(RotateFlipType.RotateNoneFlipY);
tmpimage.Save(ms, ImageFormat.Png);
var image = page.Content.AddImage(new ImageSource(ms));
}
Thanks for any help!!

How to write on images using EmguCV in C#

I wanna write on images using EmguCV in Windows Form C# In actual I wanna create a simple app for images as an image editor. Its simple purpose is to open images through an open file dialogue I can open the file but now I can't get any help or resource on How to write on images?. Let me explain my question through some image examples:
Image Before Editing:
Image after Editing:
So how can I do this using EmguCV in C#
I am newbie in dealing with images if there any way so kindly tell me.
And If there is not a such function involved in writing on images using EmguCV then please tell the alternative if any of you know??
Thanks in advance.
You can write on images with CvInvoke.PutText, one simple example is here:
// load the image
Mat image = new Mat("test.png");
// write "hello!" in red(0,0,255) at 100,100 coordinate from the top left corner
CvInvoke.PutText(image, "hello!", new System.Drawing.Point(100, 100), FontFace.HersheySimplex, 1.0, new MCvScalar(0, 0, 255), 2);
// display the result
CvInvoke.Imshow("Image with text", image);
// wait for user input to dismiss the image
CvInvoke.WaitKey();
// free allocated memory
image.Dispose();
Seems confusing for somebody new to EmguCV but it really is just a matter of looking at what each parameters do, more info in the EmguCV official documentation.

Move single colored portion in an image to center of image using C# Aforge Library

I want colored portion of image to be placed at center of bitmap image. I was not able to find Aforge filters which can achieve this. Can you please guide how to achieve this(there will be only one color loop every time, like attached image). I have used Aforge through out project, but if EmguCV (OpenCV) can achieve this, I am open to use it.
I am able to achieve this using Aforge library, will provide link, code and result picture below.
Aforge documentation
// create filter
ExtractBiggestBlob filter = new ExtractBiggestBlob( );
// apply the filter
Bitmap biggestBlobsImage = filter.Apply( image );
Because I have only one blob, used filter which can output biggest blob. Now the colored portion occupies total image and it's center, becomes center of image.

Detect whether the image was taken from camera or loaded from gallery on html input file [duplicate]

I am using html, tag:
<input type = "file" />
On android and on many cellulars I have the ability to get the file directly by taking a picture and save it.
How can I know (by javascript code) how did I get the picture (direcly by the camera, or by some files that on my cellular)?
I did some workarround, and found exif (http://www.nihilogic.dk/labs/exif/exif.js), but I didn't succeed using it for images loading dynamically, as the site : http://exif-viewer.com/
Need some source code examples, to understand how exif works on dynamically loaded images.
Thanks :)
I have found the solution by myself, so I want to participate it:
What I needed is translate the binary data to exif data,
so on exif.js, I added the following.
jQuery.fn.getExif = function() {
var exif;
var bin;
var bf;
bin = atob(this.attr("src").split(',')[1]);
if (bin) {
bf = new BinaryFile(bin);
}
if (bf) {
exif = EXIF.readFromBinaryFile(bf);
}
if (exif) {
this.attr("exifdata", exif);
}
return exif;
}
and use the above on code - just get any exif value I want.
The main issue is that the image should be rotated according to exif
(if, i.e. the orientation is 90 degrees clockwise, so I should rotate 90 counterclockwise, in order to fix the orientation) - No problem on most devices,
but there is a problem that persists on several devices, such as IPAD.
IPAD (or Safari - I don't know exactly where might be the problem) do me a favour, and auto rotate the image, when I am loading it from file, so it is displayed always correctly.
Now how can I know when to rotate the image and when not rotating it.
Thanks :)

How to Convert TextFrame into Image

I have doubt in convert TextFrame into image, please help to do this in VSTO or OpenXmlSDK with/without third party library, if any one have idea, please share with me....
Word.Shapes shapes = Globals.ThisAddIn.Application.ActiveDocument.Shapes;
foreach (Word.Shape shape in shapes)
{
if (shape.TextFrame.HasText >= 1)
{
//how to convert TextFrame into as a Image
}
else
{
shape.Delete();
}
}
Thanks in Advance,
Saran
One way would be
Get x,y coordinate of textbox in word doc (use vsto)
Save file to pdf or xps (use vsto)
Convert xps or pdf to image (use any free third party library)
Extract image image using x,y cordinate obtained in step 1. (Use
GDI)

Categories