|
This is because the pixel format expects the bytes in the other order from what you're providing (BGR, I think. The 4 byte one is BGRA iirc). I would transform the bytes on the way in:
byte[] newImageData = new byte[imageData.Length];
for(int i = 0; i < newImageData.Length; i += 3){
newImageData[i] = imageData[i + 2];
newImageData[i + 1] = imageData[i + 1];
newImageData[i + 2] = imageData[i];
}
Unless the image is really large, that should be negligible in time and memory terms and easier than post-processing the image with a ColorFilter.
|
|
|
|
|
You are saying that bitmap is BGR, but I tried using SetPixel with RGB pattern and it worked fine. Does SetPixel works differently than copying RGB data?
|
|
|
|
|
Yes. SetPixel takes a Color, copying byte data just takes raw bytes in the appropriate format.
|
|
|
|
|
Hi whats the accurate and best method to get the time taken to load a control.?.Any idea ?.(I am writing a performance monitoring UI test.)
With thanxx and regards
|
|
|
|
|
I think to get a good answer to this question you need to tell us exactly what you mean by "load a control."
Are you talking about how long it takes to "fill" a databound object, like a ListView, with thousands of rows from its source ?
Are you talking about how long it takes, from the time an end-user double-clicks on a compiled .NET .exe file to present a Window (WPF, WinForms ?) with many controls ... the contents/settings of which ... all (or some) ... need to be calculated when the application launches, rather than being "static," or read in from Application.Settings or other resources ?
"It is the mark of an educated mind to be able to entertain a thought without accepting it." Aristotle
|
|
|
|
|
Difficult question. The fact that you are timing the "load" might implicate the "load" itself, making it slower.
Do you need this on the live system or just for dev and/or test environment?
V.
|
|
|
|
|
Use the StopWatch class, call Start() right before and Stop() right after the execution of the code you're interested in.
I don't know what you mean by "load a control"; with all the events going on in a WinForms Form when opening up a new Form, it may well be that your control is touched in the Form's constructor, and several event handlers such as Load and Shown . And that other controls also get handled at around the same time.
You might even have to deal with an extra Control which you handle all at once, using your own run-time code only.
Warning: if lots of data is loaded into the control (such as a DataGridView fed by a database), how you organize the data load will predominate, not the generating and painting of the control itself; unless you have coded a large number of operations on a single control and you've forgotten to make good use of optimizing calls such as Control.SuspendLayout() and the like.
|
|
|
|
|
For a form you can time between the first line of the constructor and when the Load event[^] gets fired.
|
|
|
|
|
hi guys
can i get Collection from object if it is part of it?
code should look something like this
public class SomeCollection : CollectionBase
{
public void Add(SomeClass sc)
{
this.List.Add(sc);
}
}
class SomeClass
{
public bool AmIPartOfCollection
{
get
{
}
}
public SomeCollection MyCollection
{
get
{
}
}
}
void Main()
{
SomeClass temp = new SomeClass();
SomeCollection sc = new SomeCollection();
sc.Add(temp);
}
|
|
|
|
|
Not with a standard collection, no. It's pretty straightforward to write a specialised collection and interface for member objects to do this.
However, in most situations you know roughly where the object must be, so you can use targetCollection.Contains.
|
|
|
|
|
Hanzaplast wrote: public SomeCollection MyCollection
Hanzaplast wrote:
you can't do that in general as an object may be part of more than one collection.
|
|
|
|
|
Damn! Beat me to it...
My 5.
|
|
|
|
|
you could have suggested a
public List<SomeCollection> MyCollections {get;}
|
|
|
|
|
The inference I take from your answer, Luc (the answer seems "intuitively" correct to me), is that you could then iterate MyCollections, and, for each Collection in MyCollection, test for the presence of a specifc object using 'Contains. This solution also seeming to allow for the idea that you could also, then ... in the case of an object being a member of more than one Collection ... return a List of all Collections it was a member in, as well.
However, I do think the OP's code is pretty weird. If you are going to add any type of object to a collection: that would seem to indicate a need to me for a generic (even "dynamic," late-bound ?) solution.
thanks, Bill
"It is the mark of an educated mind to be able to entertain a thought without accepting it." Aristotle
|
|
|
|
|
hi all..
i am using script task in SSIS.i am new to it.
I have a oracle connection string in the code say:
now i want to access this conection via variable: OraConn. how to do it?
is it like below?
OraConn.ConnectionString = Dts.Variables["OraConn"].Value.ToString();
but its not working can anybdy suggest?
FBG
modified 19-Jan-12 8:56am.
|
|
|
|
|
bigphish wrote: but its not working
Without some more information it's impossible even to make a guess.
Unrequited desire is character building. OriginalGriff
I'm sitting here giving you a standing ovation - Len Goodman
|
|
|
|
|
Hi All,
First off I am new to C# so please forgive me if I ask obvious questions.
I am required to write code that will communicate with a SOAP based web service hosted by a third party. I have imported the provided WSDL using wsdl.exe and implemented the generated code in my program. This successfully generates the required SOAP request with the correctly structured XML contained in the body. I have working XML/SOAP samples that I have successfully used to get the expected response from the service via a small Delphi test application so I know how the structure of the call must look.
The C# generated call (captured using Fiddler) is almost the same as the samples however there are two additional tags in the samples that are not in my generated call. These tags are the first two tags in the SOAP body after which the rest of the XML is correct.
My question is how do I (or can I at all) add these tags at run time to the generated message?
I hope this is enough information but please let me know if I need to provide more.
Kind Regards,
Francois
|
|
|
|
|
Shew, no a single reply... I hope I haven't broken a rule or committed some other faux pas.
|
|
|
|
|
Hi,
Actuially Iam using vs2010. My requirement is simple. Once the user click on listview-header then its
visible has set to false.
Currently Iam using the below codes, and its fine...No problem...
<pre>
listView1.ColumnClick += new ColumnClickEventHandler(this.MyLstVw_Vsble)
private void MyLstVw_Vsble(object Sender, EventArgs e)
{
listView1.Visible = false;
}
But my clarification is, why not assigning the controls visible property, directly like the below.
listView1.ColumnClick += listView1.Visible = true;
Is it possible?...
Thanks
|
|
|
|
|
Paramu1973 wrote: But my clarification is, why not assigning the controls visible property, directly like the below.
listView1.ColumnClick += listView1.Visible = true;
No, that's not possible. ColumnClick points to an event, not to a line of code. You could use an anonymous delegate though.
listView1.ColumnClick += delegate { listView1.Visible = true; };
Enjoy
Bastard Programmer from Hell
|
|
|
|
|
Thanks Eddy
|
|
|
|
|
You're welcome
|
|
|
|
|
ColumnClick is an event, so you have to use += with a delegate reference. Depending on the version of .Net you have, there are several ways to do that:
- All versions: explicit new expression as in your example.
- .Net 2+: implicit cast of a method name (listView1.ColumnClick += MyLstVs_Vsble)
- .Net 2+: anonymous delegate (see the post above this one)
- .Net 3+: lambda function: listView1.ColumnClick += (s, e) => listView1.Visible = false;
The last is the closest way so far of assigning an expression directly to a delegate.
|
|
|
|
|
|
Hi guys
After reading some MSDN I still have some things I don't understand.
Having an application with the folowing structure
class MainApplication (thread handling UI controls)
class CModuleA -> (starts a thread thWorkerA)
class CModuleB -> start a thread thWorkerB
here are my questions:
1. From thWorkerB I raise an event intended to be caught by subscriber CModuleA class.
Inside CModuleA it is the handling event funtion.
The execution of the thWorkerB thread remain blocked inside the eventHandling function from CModuleA until it finishes?
2. How is exactly this send event handled? In what context is it done?
3. The Invoke method should be used to execute delegates on the current UI thread, which chage controls.
This Invoke function could be used in other cases, not involving UI controls? (similar situations)
modified 19-Jan-12 4:05am.
|
|
|
|