|
It's taking a good 10 to 12 seconds to open.
|
|
|
|
|
I need help with an SDK to develop an application that will work with the built in camera or any external camera. The camera should be able to take snapshots.. This application will of course be used on windows and will be programmed with C#..
|
|
|
|
|
What part of the app do you need help with? Please indicate what you've tried and ask a more specific question if possible. This will allow us to help you better.
/ravi
|
|
|
|
|
i know i shouldn't do this (post here), but actually i'm interested in this kind of thing to, you have any material about how to connect to built-in web cams from c#? or a starting point? i've only found unmanaged solutions, so if you have any managed solution, please share...
I'm brazilian and english (well, human languages in general) aren't my best skill, so, sorry by my english. (if you want we can speak in C# or VB.Net =p)
|
|
|
|
|
Sentenryu wrote: or a starting point?
Did you try to search this site? We got a lot of articles on webcam's, and most of them are in managed code.
Bastard Programmer from Hell
|
|
|
|
|
tried, only found solutions that use a unmanaged dll, i'll try once more...
I'm brazilian and english (well, human languages in general) aren't my best skill, so, sorry by my english. (if you want we can speak in C# or VB.Net =p)
|
|
|
|
|
Try this[^] one.
Bastard Programmer from Hell
|
|
|
|
|
thanks, i've seen this article, the problem is that i can't use external dlls (stupid requirement that i'm trying to remove...)
I'm brazilian and english (well, human languages in general) aren't my best skill, so, sorry by my english. (if you want we can speak in C# or VB.Net =p)
|
|
|
|
|
How about this[^] fully managed solution?
/ravi
|
|
|
|
|
5 doesn't seems enough to thank you for that, this solution is perfecty
I'm brazilian and english (well, human languages in general) aren't my best skill, so, sorry by my english. (if you want we can speak in C# or VB.Net =p)
|
|
|
|
|
Glad to be of help!
/ravi
|
|
|
|
|
I need to be able to use my c# written code to access my webcam(in-built). The one i got from this site isn't what I wanted. This application should be with winforms not wpf
|
|
|
|
|
What prevents you from embedding the WPF window containing the MediaElement in your WinForms app?
/ravi
|
|
|
|
|
Please can I just get the application or sdk.......... I neeed it urgently
|
|
|
|
|
Hello!
I'm trying to create a Regex so it would work same to String.Contains. In general I just create Regex from the string, but there are a lot of problems here: the string may contain +, * and other characters so Regex throws exception as it does not likes this.
I assume that Rexeg.IsMatch works faster than String.Contains so I'd like to use it.
Do you know how to work this around? I could replace all the escape characters in my string to \+. Maybe there is something better?
Thanks.
modified 11-May-12 5:35am.
|
|
|
|
|
You can use the Regex.IsMatch() method[^].
|
|
|
|
|
The question is how to build Regex
|
|
|
|
|
If you are testing against something that is considered a special character, then you have no choice but to escape the character. This is no different than having to escape something like \n in C#.
|
|
|
|
|
Pete O'Hanlon wrote: you have no choice but to escape the character
There's no escape, but to escape!
"With sufficient thrust, pigs fly just fine."
Ross Callon, The Twelve Networking Truths, RFC1925
|
|
|
|
|
amrok2amrokk wrote: I assume that Rexeg.IsMatch works faster than String.Contains
I doubt it. And were it true don't you think they would implement it with Regex?
|
|
|
|
|
amrok2amrokk wrote: I assume that Rexeg.IsMatch works faster than String.Contains so I'd like to use it.
Never assume! Test it!
I would, once, have assumed the same. But when I wanted to count the number of lines in a string, I had to run some comparative tests. I didn't check String.Contains against a Regex, but I was surprised by the speed difference between the various methods. You may well find that String.Compare is faster than a Regex if only because the Regex has to be parsed!
If you are interested, the results of the testing are here: Counting lines in a string[^]
Ideological Purity is no substitute for being able to stick your thumb down a pipe to stop the water
|
|
|
|
|
So I created a simple test and here are the results:
Regex 00:00:00.2968750
String 00:00:00.3281250
It's for release configuration.
namespace RegexTest
{
public partial class Window1 : Window
{
List<string> _data;
public Window1()
{
InitializeComponent();
_data = new List<string>(500000);
Random rand = new Random();
byte[] data = new byte[4000];
for (int i = 0; i < 50000; i++)
{
rand.NextBytes(data);
_data.Add(Convert.ToBase64String(data));
}
}
private void buttonTestRegex_Click(object sender, RoutedEventArgs e)
{
DateTime start = DateTime.Now;
Regex regex = new Regex("99");
int count = _data.Count;
int match = 0;
for (int i = 0; i < count; i++)
{
if (regex.IsMatch(_data[i]))
{
match++;
}
}
DateTime end = DateTime.Now;
this.textBoxRegex.Text = (end - start).ToString();
}
private void buttonTestString_Click(object sender, RoutedEventArgs e)
{
DateTime start = DateTime.Now;
int count = _data.Count;
int match = 0;
for (int i = 0; i < count; i++)
{
if (_data[i].Contains("99"))
{
match++;
}
}
DateTime end = DateTime.Now;
this.textBoxString.Text = (end - start).ToString();
}
}
}
|
|
|
|
|
First off, when you are timing, don't use DateTime.Now - use the Stopwatch class instead. DateTime is only accurate to +- 10ms according to MS, which is frankly pants. Stopwatch is accurate to the system hardware time tick
Secondly, Did you get the same number of matches?
Thirdly, given the difference is ~10%, that could well be within the limits of experimental error and they are both executing the same code! Try running it 6 or so times and see if you get the same results -= I bet you don't!
I just tried it myself (with Stopwatch), and I get a much more pronounced difference:
Contains : 507282
Regex : 882800
Contains : 535572
Regex : 876324
Contains : 491582
Regex : 876369
Contains : 464881
Regex : 884031
Contains : 529527
Regex : 877334
Contains : 545686
Regex : 878110
That's on a Dual Core, under Win7 64 bit, running .NET 4, for x86.
Switching to x64:
Contains : 560253
Regex : 933286
Contains : 587743
Regex : 869393
Contains : 550809
Regex : 862328
Contains : 581642
Regex : 871326
Contains : 578634
Regex : 878303
Ideological Purity is no substitute for being able to stick your thumb down a pipe to stop the water
|
|
|
|
|
Hi! I've changed the code and got these results
00:00:00.2780085
00:00:00.2824236
00:00:00.2805873
for Regex
00:00:00.3233195
00:00:00.3238453
00:00:00.3248080
for Contains
namespace RegexTest
{
public partial class Window1 : Window
{
List<string> _data;
public Window1()
{
InitializeComponent();
_data = new List<string>(50000);
Random rand = new Random();
byte[] data = new byte[4000];
for (int i = 0; i < 50000; i++)
{
rand.NextBytes(data);
_data.Add(Convert.ToBase64String(data));
}
}
private void buttonTestRegex_Click(object sender, RoutedEventArgs e)
{
Stopwatch sw = new Stopwatch();
sw.Start();
{
Regex regex = new Regex("99");
int count = _data.Count;
int match = 0;
for (int i = 0; i < count; i++)
match += regex.IsMatch(_data[i]) ? 1 : 0;
}
sw.Stop();
this.textBoxRegex.Text = sw.Elapsed.ToString();
}
private void buttonTestString_Click(object sender, RoutedEventArgs e)
{
Stopwatch sw = new Stopwatch();
sw.Start();
{
Regex regex = new Regex("99");
int count = _data.Count;
int match = 0;
for (int i = 0; i < count; i++)
match += _data[i].Contains("99") ? 1 : 0;
}
sw.Stop();
this.textBoxString.Text = sw.Elapsed.ToString();
}
}
}
I use x86 processor, .NET 3.5.
|
|
|
|
|
I just noticed that you're not doing anything with match , in a release build the whole for loop may be optimized out so you may not actually be doing any work.
How about this.textBoxString.Text = String.Format ( "{0} matches found in {1}" , match , sw.Elapsed ) ;
|
|
|
|