am working on WP8application, I have few images in location Resources\Graphics\ i am trying to display images from these folder, but its not picking the path.
Here is my code :
<img src=\"/Resources;component/Graphics/"+ImageName).Append("\" ") this is in my string which i am using in my WebBrowserControl.
WebBrowserControl.NavigateToString(html); // here html is a string which has all the html code in it.
But its not display the images.
So i want to convert the ImageSource --Resources;component/Graphics/"+ImageName to Base64String how to do it?
I have looked into many examples but none of them is compatible for WP8.
You can get StreamInfo by using this:
Application.GetResourceStream(new Uri("Resources;component/Graphics/"+ImageName", System.UriKind.Relative));
Then you can read this stream into an byte array. After that, use Convert.ToBase64String() to get what you want. Try this. Maybe you can read the MSDN document to find how to use Stream.
var img = Application.GetResourceStream(new Uri("Resources;component/Graphics/"+ImageName", System.UriKind.Relative));
var buffer = new byte[img.Stream.Length];
img.Stream.Seek(0, SeekOrigin.Begin);
img.Stream.Read(buffer, 0, buffer.Length);
var base64 = Convert.ToBase64String(buffer);
It's very simple - load your image into a byte array and call
System.Convert.ToBase64String(imageArray).
That being said, this will not result in displaying the image. The NavigateToString requires html. See documentation
This is my code
byte[] bytearray = null;
using (var ms = new MemoryStream())
{
if (bmp != null)
{
var wbitmp = new WriteableBitmap(bmp);
wbitmp.SaveJpeg(ms, 46, 38, 0, 100);
bytearray = ms.ToArray();
}
}
if (bytearray != null)
{
// image base64 here
string btmStr = Convert.ToBase64String(bytearray);
}
Related
I am trying to store MemoryStream into MagicImage, but when I am trying to upload file with heic format it still uploading with heic format, but it should upload it with jpeg format. So I kind of do not understand where I am doing wrong. So could someone help me? I am trying it open in Frame in web, but it does not open bc it is not converting it to jpeg.
using (MemoryStream ms = new MemoryStream())
{
create.PostedFile.InputStream.CopyTo(ms);
var data = ms.ToArray();
byte[] data1 = null;
using (var image = new MagickImage(data))
{
// Sets the output format to jpeg
image.Format = MagickFormat.Jpeg;
// Create byte array that contains a jpeg file
data1 = image.ToByteArray();
}
var file = new ClientFile
{
Data = data1, // here where it should store it in jpeg
};
While I have never used your way of writing the image, this is what I use in my implementations and it always works:
var image = new MagickImage(sourceStream);
var format = MagickFormat.Jpg;
var stream = new MemoryStream();
image.Write(stream, format);
stream.Position = 0;
EDIT
If you don't add:
stream.Position = 0
sending the stream will not work as it will start saving from the current position which is at the end of the stream.
Simple Question: I have a Xamarin.Forms.Image called "image". I need it to be a byte array. I feel like this has to be a simple thing but I can't find it on the internet anywhere.
var image = Xamarin.Forms.Image();
image.source = "my_image_source.png";
//Magic code
byte[] imgByteArray = ???
Unfortunately, the Image class does not expose methods to access the actual image once loaded.
You will need to read the Image from the file and convert it to the Stream you are expecting.
To prevent reading the image object twice you can set the stream read to your Image control.
var image = Xamarin.Forms.Image();
var assembly = this.GetType().GetTypeInfo().Assembly;
byte[] imgByteArray = null;
using (var s = assembly.GetManifestResourceStream("my_image_source.png"))
{
if (s != null)
{
var length = s.Length;
imgByteArray = new byte[length];
s.Read(buffer, 0, (int)length);
image.Source = ImageSource.FromStream(() => s);
}
}
// here imageByteArray will have the bytes from the image file or it will be null if the file was not loaded.
if (imgByteArray != null)
{
//use your data here.
}
Hope this helps.-
Update:
This code will require adding your my_image_source.png as part of the PCL as an embedded resource.
I want to download an image has link like this:
data:image/png;base64,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
but when I use:
WebClient webClient = new WebClient();
webClient.DownloadFile(remoteFileUrl, localFileName);
it throw to exception: "uri prefix is not recognized"
There is NO image link to download. It is base64 representation of the image, so the image is encoded in the string and embedded into the document.
You can get the base64 representation of the string and convert it to image as done here. Pasting the code for quick reference.
public Image Base64ToImage(string base64String)
{
// Convert base 64 string to byte[]
byte[] imageBytes = Convert.FromBase64String(base64String);
// Convert byte[] to Image
using (var ms = new MemoryStream(imageBytes, 0, imageBytes.Length))
{
Image image = Image.FromStream(ms, true);
return image;
}
}
I have an image string contain in an XML file and want to convert the string into an image. I have used the following code which is giving error: Parameter is not valid.
Code is following which is give above error:
Byte[] data = new Byte[0];
byte[] array = Encoding.ASCII.GetBytes("D:\notimg.txt");
MemoryStream mem = new MemoryStream(array);
pictureBox1.InitialImage = null;
pictureBox1.Image = Image.FromStream(mem);
Below is the data contained in XML tag which I need to convert into the image and display into picture box, I have placed the below data into a notepad file and removed the XML tag . Please, anyone, guide how to display the below data into an image. Thanks in advance.
<photograph>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</photograph>
Quick and dirty:
var s = File.ReadAllText(#"d:\file.txt");
s = s.Replace("<photograph>", string.Empty).Replace("</photograph>", string.Empty);
var b = Convert.FromBase64String(s);
using (var mem = new MemoryStream(b))
{
pictureBox1.Image = Image.FromStream(mem);
}
It's Base64
first convert to byte[]
then use
public System.Drawing.Image Base64ToImage(byte[] imageBytes)
{
MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length);
ms.Write(imageBytes, 0, imageBytes.Length);
System.Drawing.Image image = System.Drawing.Image.FromStream(ms, true);
return image;
}
then You Will Got image..!:)
How can i get in c# an image as bitmapimage from an url and pass to it some headers? (not parameters, headers)
And also i found a simple solution but i couldn't understand why it was wrong, the problem is that:
WHen i get byte[] from the server i get the image with a lot of question marks, this appends i thinks because of a different text encoding, how can i fix the code so i can get successfully the image from c# with headers and visible to bitmap?
You have to convert your image into a base64 encoded string and pass it to the headers.
using (Image image = Image.FromFile(Path))
{
using (MemoryStream m = new MemoryStream())
{
image.Save(m, image.RawFormat);
byte[] imageBytes = m.ToArray();
// Convert byte[] to Base64 String
string base64String = Convert.ToBase64String(imageBytes);
return base64String;
}
}
Then on the other side you can parse it and convert it back to an image:
public Image LoadImage()
{
//data:image/png;base64,
byte[] bytes = Convert.FromBase64String(YOUR_BASE64_ENCODED_STRING);
Image image;
using (MemoryStream ms = new MemoryStream(bytes))
{
image = Image.FromStream(ms);
}
return image;
}