|
That's it!! Thanks a lot!!!
life is study!!!
|
|
|
|
|
Look at the BitConverter class, BitConverter.ToString Method (Byte[]).
http://stefanprodan.wordpress.com
|
|
|
|
|
thanks, but there is no overload for GetBytes(string s) in BitConverter class..
life is study!!!
|
|
|
|
|
Here is my code, I've test it with BMP but I think it will work with any image format.
<br />
using System.IO;<br />
using System.Drawing;<br />
using System.Runtime.Serialization.Formatters.Soap;<br />
<br />
Image image = Image.FromFile(file);
SoapFormatter formater = new SoapFormatter();<br />
byte[] obj;<br />
using (MemoryStream ms = new MemoryStream())<br />
{<br />
formater.Serialize(ms, image);<br />
obj = ms.ToArray();<br />
}<br />
<br />
string str = Convert.ToBase64String(obj);
<br />
byte[] bytes = Convert.FromBase64String(str);
<br />
Image newImage;<br />
using (MemoryStream ms = new MemoryStream(bytes))<br />
{<br />
newImage = (Image)formater.Deserialize(ms);<br />
}<br />
<br />
newImage.Save(file + ".bmp");<br />
http://stefanprodan.wordpress.com
|
|
|
|
|
if you use "using keyword" then the MemoryStream, which is in this case your raw image data, disposed. Copy the ms.ToArray() to a new byte[] by Array.Copy(...) method before you exit "using(...) block".
Hope this helps...
|
|
|
|
|
Hi All
I've just joined a project that is going to require a heavy load of optimization. I'm looking for a language that is compatible with C# that compiles into machine code. At the moment, our plan involves a number of nested loops to which we are hoping to write in machine code. Would C++ work for this? Thanks.
|
|
|
|
|
If you look inside a C++ application, there is a lot of overhead and name mangling that goes on. This can lead to loss of performance, but not necessarily. If you are looking to use a third generation language with close to optimal speed, then your best bet is C. If speed is an absolute must, then you need to look at assembly.
Something to keep in mind also is the balance between speed and memory optimization.
Phil
|
|
|
|
|
If you mean C# compiled to machine code, look at the Mono project.
|
|
|
|
|
How does mono compile C# to machine code exactly?
|
|
|
|
|
heavy load of optimization = ANSI C
http://stefanprodan.wordpress.com
|
|
|
|
|
Any .NET language is compatible. In fact there are other languages compatible, callable from managed (.NET) languages but that requires experience in these areas and I don't suggest it because no language is 100% compatible with another one 
|
|
|
|
|
Is there such a thing as an infinite array in c#?
If not, does C# give the concept of vectors.
|
|
|
|
|
|
Interesting... Is there such a thing as a multidimensional list , like one that can have 3 columns per row?
|
|
|
|
|
I don't know specifically of a list like you're describing that can have any number of columns per row, other than just a multidimensional array - but that would have a finite size. You may be interested in a Dictionary[^] which allows you to create a dynamically sized list of key-value pairs. Other than that, if you want to store more than one value per element of a list, I usually make a structure/class to hold the values I want and then make a List of those structures.
|
|
|
|
|
LCI wrote: Interesting... Is there such a thing as a multidimensional list , like one that can have 3 columns per row?
How about a list of lists...
|
|
|
|
|
Or if the number of "columns" is constant, a list of arrays may be easier to work with.
---
single minded; short sighted; long gone;
|
|
|
|
|
Or rather an Array of List s...
Regards,
mav
--
Black holes are the places where God divided by 0...
|
|
|
|
|
An array of lists? That seems awkward. For example you can't use the built in methods for sorting.
---
single minded; short sighted; long gone;
|
|
|
|
|
Guffa wrote: Or if the number of "columns" is constant, a list of arrays may be easier to work with.
If you have a fixed number of columns and a variable number of rows, I think it's rather an array of lists than the other way 'round, but I guess it depends on the view...
Anyway, a list of lists would be the most flexible solution...
Regards,
mav
--
Black holes are the places where God divided by 0...
|
|
|
|
|
mav.northwind wrote: If you have a fixed number of columns and a variable number of rows, I think it's rather an array of lists than the other way 'round, but I guess it depends on the view...
You can do it either way, but I know which one I would use...
A list of arrays:
List<string[]> table = new List<string[]>;
table.Add(new string[] { "just", "adding", "another", "little", "line" } );
string[] line = table[0];
An array of lists:
List<string>[] table = new List<string>[4];
table[0] = new List<string>();
table[1] = new List<string>();
table[2] = new List<string>();
table[3] = new List<string>();
table[4] = new List<string>();
table[0].Add("just");
table[1].Add("adding");
table[2].Add("another");
table[3].Add("little");
table[4].Add("line");
string[] line = new string[] { table[0][0], table[1][0], table[2][0], table[3][0], table[4][0] };
---
single minded; short sighted; long gone;
|
|
|
|
|
arraylist is a class by taking it's object u can add items as many as u want
|
|
|
|
|
You can add as many data as you want to a List or Collection in .NET until you use all the memory and blow your application which is not a preferred but available option
And if you remember that you are using integer or long vale based indexes on arrays to retrieve an item at a specified index, these data types have minimum and maximum properties. Of yourse, you can write your own data type and use it in List<t> or Colelction<t> and successfully blow your application again 
|
|
|
|
|
Okay, I am trying to implement a way to pass parameters to an already running thread or application. I have added some "Run Once" logic to an application of mine and it works great, if you try to load it twice...it looks for the thread by name, and if it finds it it just activates it. It works great...BUT...I want to pass 2 params to the running thread and this is how I am doing it and it is not working...not totally. So once my app is running, I will call the exe again and pass 2 params to it, when the second instance tries to start, I receive the params and save them to my properties.settings.default.variable1, variable2. then save the settings, check my thread, and if its running I just activate the running thread and exit. When the activated event fires I then look at the value of my properties.settings.default.whatever and the data has not changed, BUT if I exit the app at that point and start it again...the values have changed. Its like the running thread has a different session of the data open and it dosen't see the changes. So my question is: Is there a way to refresh the data session of the properties.settings stuff so I can see the last changes made??? or is there another way to pass the params to my running thread from the started thread????
Thanks...
Christopher J. Thornburg
Senior Systems Analyst
Ideal Card
|
|
|
|
|
If I am understanding your problem correctly, what is needed is to have a data location where the modifications are made and the thread can access the data. This should eliminate the need for parameters. Keep in mind that when multiple threads are accessing a data location, it should be protected in such a way that only one thread can access/modify the data at a time.
Phil
|
|
|
|