C# - Parameter Is Not Valid Calling Bitmap.Save()?
Mar 22, 2011
This in in an ASP.NET application.
Locally, this code runs fine, but on our production server, it throws an exception of 'Parameter is not valid' when Bitmap.Save() is called.
Should I not be using System.Drawing.Bitmap because its not recommened based on this:
[URL]
Classes within the System.Drawing namespace are not supported for use within a Windows or ASP.NET service. Attempting to use these classes from within one of these application types may produce unexpected problems, such as diminished service performance and run-time exceptions.
What else could I use?
Bitmap myBitmap = new Bitmap(img);
myBitmap.SetResolution(img.HorizontalResolution, img.VerticalResolution);
// get the tiff codec info
ImageCodecInfo myImageCodecInfo = GetEncoderInfo("image/tiff");
// Create an Encoder object based on the GUID for the Compression parameter category
System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Compression;
// create encode parameters
EncoderParameters myEncoderParameters = new EncoderParameters(1);
EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, (long)EncoderValue.CompressionCCITT4);
myEncoderParameters.Param[0] = myEncoderParameter;
// save as a tiff
myBitmap.Save(input, myImageCodecInfo, myEncoderParameters);
I have implemented the following functionality that connects to webservice and downloads a favicon from a given site and saves it to a byte[] which I store in our database. I now want to set it up so that it saves the icon to the disk. However I am getting a "Parameter is not valid" when I try and create the image from the byte[].My code is as follows..
The exception occurs on the middle line. This code works perfectly 9 times out of ten, but for some favicons, even thought the icon is a valid image (or at least it appears to be and it shows in the browser when point at it) I get this exception. Does anyone have any ideas? I am pulling my hair out here!
In ASP.NET C# I'm trying to save a bitmap image as an 16-color non-transparent grayscale image as either a PNG or GIF. I assume I have to create a palette and then somehow attach the palette to the image but not sure how to go about doing this. The source image is a 24-bit color Bitmap.
I had write a code about get a picture from url and save as bitmap. However, there was a problem in HttpWebResponse. It didn't run the code start from HttpWebResponse.Then my whole website die there.
I have to save the webpage as image in my system folder. I am saving them using stream.....but the page is not displayed as Image....It opened only through browsers.
I have a colorpicker.png file and track the pixel clicked in codebehind using GetPixel. Works like a charm, but I read that converting to a bitmap on the fly is rather heavy on the server. Therefore I saved my .png file as a .bmp as well, so that a converted file would already exist. However, I don't seem tobe able to just use the bitmap file, but need to create a new bitmap from the bitmap...
My question is: The code below works (I provide it here for those who might need it - simply add the code below to codebehind and this code in your aspx page <asp:ImageButton
also note that the image can be whatever you want - a photo or a screendump of a colorpicker from say Photoshop or VS; and note that it's wise to put everything you need in an updatepanel). Should I write something else in order to get smarter access to the bitmap?
Protected Sub cpRubrik_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles cpRubrik.Click tbUtseenderub.ForeColor = BytFarg(e.X, e.Y) End Sub Protected Function BytFarg(ByVal x As Integer, ByVal y As Integer) As Color Dim myBitmap As New Bitmap(Server.MapPath("~/img/colorpicker.bmp")) Dim clr As Color = myBitmap.GetPixel(x, y) Return clr End Function
I am trying to display an image from database, and I keep ending up with an error Parameter is not valid. Bitmap bm2 = new Bitmap(targetW, targetH);
I have tried different ways but I can't get it to work (as you can see in my commented code). I am having trouble on the saving it to the database process, displaying it isn't a problem (when I had valid images)
I get this Microsoft .NET Framework start up error. when i try to run a window project.
i am working on visual studio2005 (.NET FRAMEWORK2.0).
i am working on win 7 machine & i am not able to edit machine.config file.coz it is read only type.
below is the error ....
See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box.
Exception Text
System.ArgumentException: Parameter is not valid. at System.Drawing.Bitmap..ctor(String filename) at HumanHistology.frmquiz1.FillOptions() at HumanHistology.frmquiz1.btnnext_Click(Object sender, EventArgs e) at System.Windows.Forms.Control.OnClick(EventArgs e) at System.Windows.Forms.Button.OnClick(EventArgs e) at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ButtonBase.WndProc(Message& m) at System.Windows.Forms.Button.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Every single parameter is bound just fine except toDate which turns out to be always null. When inspecting the Request.QueryString["toDate"] it retrives the right value which is 30/09/2010. It seems that DateTime expects another format when binding. What is the right format?
We are using a asp.net page to submit data to server. what we do is we will pass as parameter in url Query string) and in page load we take that values and submitting to database I have these following doubt
1, What is the default event happening while we call a ASP.NET page is it a POST or GET? We tried to call this url from a mobile application, it is not happening , we are not getting any error also in the mobile application.
2, IF we are calling the url to submit data from mobile applications which one we have to use (GET or POST)
3, IF we are calling this url from an application running in PC to submit which one we have to use ?
web service method(getMainHeads) with parameter is not calling with auto complete text box extender(same method with out parameter is calling fine). My Service is
[System.Web.Script.Services. ScriptService] public class InvService : System.Web.Services.WebService { ItemMainHeadMsts objItemMainHeadMsts; DatabaseHelper objDataHelper; [WebMethod] public string[] GetMainHeads(string value) { List<string> oList = new List<string >(); objItemMainHeadMsts = new ItemMainHeadMsts (); objDataHelper = new DatabaseHelper (); objItemMainHeadMsts = ItemMainHeadMstBase.SelectByFieldAuto("IMHDesc" , value); foreach (ItemMainHeadMst mainHead in objItemMainHeadMsts) { oList.Add(mainHead.IMHDesc); } return oList.ToArray();..........................
I am working on developing web application for user to upload their files using VB.NET.The problem is,when user browse and upload the file they got an error saying that : Specified argument was out of the range of valid values. Parameter name: i Here is a piece of codes i currently used :
I got a hard time with the Image.FromStream method in my website. The code below works perfect on my computer. But when I uploaded it to the test server, it always gives me "Parameter not valid" exception.
if (!afuImageFile.IsUploading && afuImageFile.HasFile) { System.Drawing.Image imgFile = System.Drawing.Image.FromStream(afuImageFile.FileContent); }
the afuImageFile is an AsynFileUploader control in Ajax Tool Kits. afuImageFile.FileContent is a HttpInputStream.
I have an ASP.NET web form. This web form has an event handler that generates some HTML. This HTML is based on the time-of-day, that is why it is created in the event handler. Based on the time of day, an image is created programmatically via the following method:
private Bitmap GetImageForTime(DateTime time) { Bitmap bitmap = new Bitmap(); // Dynamically build the bitmap... return bitmap; }
want to call this method when the HTML is being generated. However, I do NOT want to write the image on the server. Instead, I would like to figure out a way to write it out along with the HTML. In a sense, I'm trying to accomplish the following:
protected void myLiteral_Load(object sender, EventArgs e) { string html = "<table><tr><td>"; html += GetImageForTime(DateTime.Now); // This is the problem because it's binary. html += "</td><td>"; html += GetWeatherHtmlText(); html += "</td></tr></table>"; myLiteral.Text = html; }
I'm trying to generate a bitmap off a WPF border. The whole thing sits in a asp.net app (server side of course) running .net 4.0. The problem is, that the generated image is, well, empty. Does anyone have an idea why? Here's the code.
public static byte[] Draw(int width, int height) { MemoryStream memoryStream = new MemoryStream(); Thread t = new Thread(delegate() { System.Windows.Controls.Border border = new System.Windows.Controls.Border() { Background = Brushes.Red, BorderBrush = Brushes.Green, CornerRadius = new System.Windows.CornerRadius(5), Width = width, Height = height }; border.ApplyTemplate(); RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap(width, height, 90, 90, PixelFormats.Pbgra32); renderTargetBitmap.Render(border); BitmapEncoder bitmapEncoder = new PngBitmapEncoder(); bitmapEncoder.Frames.Add(BitmapFrame.Create(renderTargetBitmap)); bitmapEncoder.Save(memoryStream); }); t.SetApartmentState(ApartmentState.STA); t.Start(); bool success = t.Join(5000); if (success) return memoryStream.ToArray(); else throw new Exception("Fail"); }
The result is quite bad, as I said the thing returns the image with the right width and height, but it's empty, so I guess I don't mess the thing up with the threading bit.
I am generating a System.Drawing.Bitmap on the fly in an ASP.NET Custom Web Server Control, and then I want to serve this bitmap as part of the WebResource, because I do not want to save it on the hosting computer. Is there a way to instruct ASP.NET to serve the generated System.Drawing.Bitmap as part of it's WebResource? (therefore making it an "Embedded Resource")
I am trying to convert a image (from url) to bitmap here the code i was using but its for using a image from your computer (file) Dim bmp As bitmap = bitmap.FromFile(TextBox1.Text) I entering a url instead of a file location but i get a URI error
i had drawed a graph by clicking a analyze button, however when i click it, it will go to a new screen. below is my coding:
[Code]....
below is the condition i want, when i click the button Analyze, the image (graph) is showed under the button with the header and template:
[Code]....
my current condition is when i click the button analyze, it will totaly display the graph only without the header and template as print screen below: how to change the coding to let the template and heaser showed together with the bar chart?
I am currently dynamically creating a bitmap and using the graphics object from the string from the bitmap to Draw a string on it like so.
System.Drawing.Graphics graph = System.Drawing.Graphics.FromImage(bmp); graph.DrawString(text, font, brush, new System.Drawing.Point(0, 0));
This returns a rectangle shaped bitmap with the string written straight across from left to right. I would like to also be able to draw the string in the shape of a rainbow. How can I do this?