|
Hi,
I'm working on a .net2.0 windows application. When I applied a image of size 25KB as background, performance of the application is getting reduced. When I remove that image, it works fine.
Please let me know the solution. Thanks in advance.
|
|
|
|
|
Use a smaller image ? It's hard to work out why the background image is having this affect, what does the app do ? What reduction are you seeing in performance ?
Also - be aware that 25k on disc means nothing. It's width * height * 3 bytes in size in memory, at least.
Christian Graus
Please read this if you don't understand the answer I've given you
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|
|
At first, I used 400K image as background. I found that it is causing the performance reduction. So, I used 25K. Eventhough, I found the same performance reduction in the application.
I observed Performance reduction while form load. And when I press Spin command button, around 36 buttons should rotate along a cirle. The movement become very slow, when image applied.
The thing makes me surprise is there is same amount of performance issue for both 400K and 25K size of images.
Hope you understood the scenario.
|
|
|
|
|
It might not be a problem with the image itself, it could be a problem with how you are manipulating the image. Based on the description of the spin command, it sounds like that itself could be causing the performance slow down.
Regards,
Thomas Stockwell
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
Visit my homepage Oracle Studios[ ^]
|
|
|
|
|
Have a form, using either an image/color + transparency key, I have a transparent form. Fine.
However, I have these nice little png images, I want to place on that form as buttons, and maybe even place over the buttons to convey information.
Only problem is, that where the png alpha (like in the edges of the drop-shadow) overlaps the form, I get a weird mix of the drop-shadow, and the transparency key.
Any suggestions?
|
|
|
|
|
Use Paint.NET
http://www.getpaint.net/[^]
If you use the eraser on the White text, it gives a checkerboard effect. This checkerboard effect is in-fact transparency.
Use these modified images, instead.
Should help
|
|
|
|
|
Using c# 2005 Express Edition:
I am writing a service that copies files to an AD share and am having a bit of a problem with the .net built in accounts with the windowsinstaller and framework found here:
http://www.codeproject.com/KB/system/WindowsService.aspx[^]
I was told (by a network admin) that the "localService" account will provide the computers credentials when accessing AD shares, but, the IDE states that I am supposed to be using the "NetworkService" account.
The "NetworkService" account fails and .net puts an error in the event log:
[code]
EventType clr20r3, P1 windowsservice.exe, P2 0.0.0.0, P3 480d4ccb, P4 mscorlib, P5 2.0.0.0, P6 4333ab80, P7 32f8, P8 15a, P9 system.unauthorizedaccess, P10 NIL.
[/code]
Other than having to run my code in a seperate thread and this account thing I have not come across any unexpected issues; posting code is not going to help with this one (yeah, I am a bit lazy too)
I do not have access to an AD at this point and am looking for some general advice from those in the know.
Thank you for reading.
shwaguy
|
|
|
|
|
anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone? anyone?
FTARH was a great movie
|
|
|
|
|
Heya all-
Has anyone else run into a NotImplementedException when you try using the Graphics.DrawImage method overload that takes an Image and an array of Points defining a parallelogram? This should be the simplest thing in the world...I have an Image, and I have four (valid) points describing a parallelogram.
I have found a few references regarding the Dpi of the image compared to the Graphics pointer, but they're the same (at a lovely 96 dpi). So...yeah...good times.
*sigh*
|
|
|
|
|
Wow - you can use Reflektor to look at the .NET source.
It looks to me like those methods ultimately call this:
<br />
public void DrawImage(Image image, Point[] destPoints, Rectangle srcRect, GraphicsUnit srcUnit, ImageAttributes imageAttr, DrawImageAbort callback, int callbackData)<br />
{<br />
if (destPoints == null)<br />
{<br />
throw new ArgumentNullException("destPoints");<br />
}<br />
if (image == null)<br />
{<br />
throw new ArgumentNullException("image");<br />
}<br />
int length = destPoints.Length;<br />
if ((length != 3) && (length != 4))<br />
{<br />
throw new ArgumentException(SR.GetString("GdiplusDestPointsInvalidLength"));<br />
}<br />
IntPtr handle = SafeNativeMethods.Gdip.ConvertPointToMemory(destPoints);<br />
int errorStatus = SafeNativeMethods.Gdip.GdipDrawImagePointsRectI(new HandleRef(this, this.NativeGraphics), new HandleRef(image, image.nativeImage), new HandleRef(this, handle), destPoints.Length, srcRect.X, srcRect.Y, srcRect.Width, srcRect.Height, (int) srcUnit, new HandleRef(imageAttr, (imageAttr != null) ? imageAttr.nativeImageAttributes : IntPtr.Zero), callback, new HandleRef(null, (IntPtr) callbackData));<br />
Marshal.FreeHGlobal(handle);<br />
this.IgnoreMetafileErrors(image, ref errorStatus);<br />
this.CheckErrorStatus(errorStatus);<br />
}<br />
Looks like it should work to me.
Christian Graus
Please read this if you don't understand the answer I've given you
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|
|
Doh!
Yep, another one of those errors.
For some reason I was reading 'parallelogram' as 'polygon' - which meant that the four points I was putting in was causing it to choke. Ugh. After actually reading the documentation on that function, it's working.
Thanks for the help Chris.
|
|
|
|
|
Hi all. I am trying to modify some code that clears other textboxes on a form when the user starts entry in a textbox.
So I'm handling the KeyDown event of each textbox and clearing the others. But I don't want to clear the other boxes when a CTRL or ALT key is pressed (unless something is pasted into the textbox, which is my problem) so that the user can use shortcuts and such when focused on a textbox.
The code I'm using is:
if (((Control.ModifierKeys & Keys.Alt) != Keys.Alt) &&<br />
((Control.ModifierKeys & Keys.Control) != Keys.Control))<br />
{<br />
}
The problem is that it skips over the stuff it needs to do when a CTRL-V is invoked. How can I handle that while still keeping those CTRL and ALT checks in there.
Thanks for any help.
|
|
|
|
|
It's possible to detect if both CTRL and V are pressed at the same time, just extend the if statement. But I think you are better off all together if you use the Change event instead.
|
|
|
|
|
Hello
I'm looking the best Idea to compare a value with an operator <,>,<=,>=,=,!= defined from a combo and a operand defined in a textbox
Of course I can make a switch case but considering I've billion value to compare with the same operator I'm looking if there not another approach to do it !
|
|
|
|
|
Hi,
if the billion operations all take the same operator, use a switch but repeat
the loop inside each of the cases (hence the switch gets executed only once).
Luc Pattyn [Forum Guidelines] [My Articles]
This month's tips:
- before you ask a question here, search CodeProject, then Google;
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get;
- use PRE tags to preserve formatting when showing multi-line code snippets.
|
|
|
|
|
Thank you
But as long I have many other thing to do with my record set your solution will duplicat too many code for for each possible choice
I was thinking about a delegate but I've never defined a delegate !
|
|
|
|
|
delegates are called from of their parameter input signature..
I don't see how it would be of use in this case. Your combo box will have the same data type per each selection, though the value will be different.
|
|
|
|
|
The idea was to define 6 comparaison function
==
<
<=
>=
etc.
and get a delegate on the one needed in the session
Can it be ?
|
|
|
|
|
There isn't anything to distinguish them. Your combo box most likely has a string value of what the user picked such as "==", "<", "<=", ect..
This means that all 6 delegates would have the signature of: <return value=""> <method name="">(string str);
If you need to loop though a method then a recursive function (one that calls itself) with a input parameter would solve the situations based off the value.
This is about the same as looping within a switch statement, just not as much similar code.
To put it bluntly, you are trying to minimize code that is almost at its minimum state
The above is going by your statements about said code, less examples of what you're doing this is about as far as we can go.
|
|
|
|
|
Hello
But I'm not talking about create 6 delegate
I think to define 6 function
And create a delegate for the one needed as a function pointer
public bool cmpEqu(int a, int b)
{
return (a == b);
}
private bool cmpGrtEqu(int a, int b)
{
return (a >= b);
}
private bool cmpLessEqu(int a, int b)
{
return (a <= b);
}
etc..
public delegate bool MyCompare(int a, int b);
MyCompare Comp = new MyCompare(cmpLess);
Can it be ?
|
|
|
|
|
Yes a delegate works like a function pointer.
In your above example you can have
public bool cmpEqu(int a, int b)
{
return (a == b);
}
private bool cmpGrtEqu(int a, int b)
{
return (a >= b);
}
private bool cmpLessEqu(int a, int b)
{
return (a <= b);
}
public delegate bool MyCompare(int a, int b);
MyCompare cmpLess = new MyCompare(cmpLess);
MyCompare cmpLessEqu = new MyCompare(cmpLessEqu);
MyCompare cmpEqu = new MyCompare(cmpEqu);
MyCompare cmpGrtEqu = new MyCompare(cmpGrtEqu);
That is if you wanted to inherit from the class and then associate to an unknown named method...
Maybe I just don't understand what you're asking, but I don't see how this could solve the original problem posted.
|
|
|
|
|
Hello
It solve the problem
When I post the question I had no idea about the way to declare a delegate
In fact BEFORE to run the loop I just have to declare the right delegate that will be used along the loop
So I make a switch case to get the right one
Case ThisCompare:
MyDelegate compare=new MyDelegate(CompareForThis);
And that's it !
|
|
|
|
|
If you solved your problem
|
|
|
|
|
Maybe a recursive method that does the proper calculation based off the correct parameter input. Just be careful not to infinite loop yourself.
|
|
|
|
|
Hi All,
Can anyone tell me what the meaning of '?' in c# is?
Thanx.
|
|
|
|