Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
For a C# desktop application I'm working on, i need (detailed / high resolution) air pictures.
I know we have Google Maps and Google Earth and some other services, and some show air images of very good resolution nowadays.
At the same time, I do not only need the images, but I need to control the zoom/rotation, and want some mechanism to measure distances in the imagery.
So what I need, is some air images API.
After some reaserch for data sources, I think the best options to get air imagery are:
Google Maps API
The downloadable desktop application Google Earth.
There are so many 'versions' of Google Maps / Google Earth. Some web based, some as a downloadable application.
I came to the conclusion that if I need the Google Maps API, and want an API key, I have to provide credit card information (even within the free quota). In the past you could get a free api key without providing credit card information. I don't have a credit card, and since it's not a commercial app I'm working on, it's going too far for me to apply for a credit card just for having access to the free quota of the API. It's a pity.
I managed to add a ChromiumWebBrowser control into my app, and embedded Google Maps in it. This means I embedded a webbrowser in my application, and loaded Google Maps into it like you would do when you just browse to maps.google.com. I could try to manipulate the javascript in my embedded webbrowser to control the maps app that's running in it, but this seems to be complex and cumbersome.
Another solution could be to use the downloadable Google Earth, if there's a plugin or something that can be controlled by my own code. This probably means Google Earth has to be installed on the computer, but that's OK.
So my goal is:
Get air pictures (with highest quality available from any source).
Creating an account/api key at some service and use some free plan is no problem, but credit card hassle to achieve this, is a problem.
Being able to not only get the imagery but also control it. Because just getting imagery can be achieved by the workaround (embed Google Maps in a webbrowser control, and hooking the webbrowser rendering).
Anyone who has experience with this, or what are the best options?
Especially if there are options to implement Google Earth into my own desktop application, and be able to control it.
You have a few options here. You can use:
Cesium
D3.js
Kartograph
If you want to go the Google Maps API route, you would have to call and process the requests by hand. You can use the C# WebRequest class to do this. You should read the documentation for the Google Maps Platform API, and you should be to send GET and POST requests with the WebRequest class.
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 4 years ago.
Improve this question
I would like to create a simple WPF in C#, which can authentic the user of a Facebook page, and later it will allow you to post to Facebook as that page to that pages wall.
I've looked online, but a lot of solutions are now outdated and the most popular Facebook C# library website is dead.
What I've tried
I've downloaded the C# Facebook SDK, which has over 7M downloads, their site is however dead and the documentation very old.
The first step I need to solve is building a "Manual Login Flow". I believe the SDK has this solution already developed, does anyone know how to properly use the SDK to create a manual login flow?
EDIT
I've now worked out how to do it, I avoided using the C-Sharp SDK completely, in the end it didn't take to long to code from scratch. This article helped me out greatly, along with this github I found. The way to go with this is to use the Facebook Graph API as suggested and the inbuilt web browser control. Something not overlay obvious was Graph API tool is merely sending web request to "https://graph.facebook.com/v3.0/". I'd also recommend looking into the access tokens, as different types last for different periods of time. If anyone needs any further help on this in the future comment and I'll try and help out.
I would try using the Facebook Graph API, that seems to be well supported. You will need to authenticate the user and consume a REST Api in your C# code. Get started here..
Here's a good post on consuming rest api in C#
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I work for a small E-Commerce shop and we are looking for a process that will handle resizing our product images dynamically. Currently our designers take high resolution photos, either provided by the manufactures or created in house, and alter them to fit various pages on our site. The designers are constantly resizing, cropping, altering compression levels, etc., of each product photo to fit the needs of the business. Being that our product line is updated frequently, this becomes a monotonous task.
Abobe Scene7 does exactly what we are looking to do and the images are served up from a CDN. Unfortunately we found it to be too expensive.
I'm curious to learn how others handle this process at their organizations. Does anyone know of any good 3rd party tools or other SAAS providers that can handle performing some basic image manipulation and serving them on the fly?
A lot of what you describe can be accomplished using components available in the .NET framework.
We've used the COM version of ImageGlue with great success and found it to be very stable and effective. When someone uploads an image through our admin site, I use ImageGlue to generate a thumbnail and resize the image before storing it. You could also do that dynamically by having your image tags refer to a url like
<img src="/services/image?id=1231231&w=200&keepAspect=1">
and have the Image page or service generate the image and stream it back to the browser.
This doesn't address issues like content delivery networks, but it's relatively inexpensive and might get you pointed in the right direction.
The ImageResizing.Net library offers Amazon CloudFront-compatible dynamic image resizing - you get instantly resized dynamic images, and the scalability and responsiveness of edge caching.
While the core library is MIT-free, the Cloud bundle costs $99 (but includes source code and redistribution rights).
There isn't a hosted service version yet, but there may be soon. Vote for the idea if you want it quicker.
-- The Author
Uploadcare is an IaaS solution for uploading images directly to the CDN, and crop, resize and transform uploaded images using URL commands:
https://uploadcare.com
For example, here is the full version of an image (which is quite heavy, 4034x2672px):
http://www.ucarecdn.com/6fdab0d5-5a07-4b34-8a3a-f61727972745/full.jpg
And here is a cropped and resized one:
http://www.ucarecdn.com/6fdab0d5-5a07-4b34-8a3a-f61727972745/-/crop/1000x1000/1300,1600/-/resize/300x/tree.jpg
More info: https://uploadcare.com/upload-api-cloud-storage-and-cdn/#crop-resize-and-transform-uploaded-images
Note: I am a co-founder :)
Webqem is an Australian based company that offers a SAAS solution to dynamic imaging at a very competitive rate.
Check out the website at http://www.maxoom.com.au, there are a number of videos showing how functions within the service work.
The easiest has to be http://getthumbsup.com. We use it in conjunction with imgur sideloading feature http://api.imgur.com/resources_anon#sideloading flawlessly and effortlessly.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
How do I go about building a GPS tracking system with mobile (with GPS) in C#.net ?
The scenario is
Track a user (service engineer, nothing illegal here) via a GPS enabled mobile Phone. What software and hardware will I require? Is there any open source implementation?
For a vehicle tracking system, how do I go about with GPS? I would like to know the various steps/procedure. I am looking for some right direction.
I built a Window Forms version to display information from a GPS. Haven't really touched it much since, but if you are interested the code is on CodePlex.
http://gps.codeplex.com/SourceControl/changeset/view/24953#146657
All that you need to do to get this tracking somebody is
Convert to Windows Mobile
Build a Web Service for recording location
Modify code to post location to Web Service every so often
Really I already did the hard work, or parsing the GPS commands from the serial connection for you. :)
Its actually not that hard (done it myself!).
Best place to start looking is here:
http://msdn.microsoft.com/en-us/library/bb158708.aspx
You will need to download the windows mobile 6.0 SDK from here:
http://www.microsoft.com/downloads/details.aspx?FamilyID=06111A3A-A651-4745-88EF-3D48091A390B&displaylang=en
The sdk actually contains a sample GPS application that you can use to customize to your own needs.
I've been looking into this myself and I came across this
http://www.codeplex.com/SharpGPS
It's a GPS library based on .NET 2 full or CF, I haven't tried it yet but it looks pretty promising
Since you mention C#, you will need a phone that runs Windows Mobile. And has GPS of course.
After you download and install the WinMob 6.1 SDK, you can simply start a Smart Device project in V. Studio.
You can read the GPS either through a SerialPort or use the GPS API. There is a managed wrapper for the API in the SDK samples folder. (The WM 5 version had some problems, Google for that).
When you can read the position, you will have to send it to a Server somewhere. WinMob has support for calling WebServices in a intermittently connected situations.
you can find more info at:
http://www.miisoft.it/portale/index.php/programmazione/37-c/51-gps-parte-i
Here you can find notice about gps, parsing NMEA string and example code.
First define the requirements, what functionalities your software should have
Decide on the platform: iPhone, Windows Mobile, Symbian, Android or something else
With "C#.net" you will likely be able to develop only for Windows Mobile.
If you are wanting a vehicle tracking system, why not buy one, as there are plenty out there. If you don't really know how to go about it, I'm not sure you'll be able to produce a solution at lower cost than a commercial system.
Try tracking location of GPS enabled mobile in PC:
develope android app in mobile (which gives permission to access GPS...coded in Android Manifest.xml)
develope PC app using .net which takes Location data from server and plot the location on PC by automatically generating Javascript
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
C# seems to show some promise for scientific computing, but I found very little about one plotting 2D graphs, which is very important both for science student and scientists.
Is there a reliable, free, way to create publication quality 2D plot with C# ? And the capacity to save to several formats (png, eps, ...). Something similar to Python's matplotlib ?
There is OxyPlot which I recommend. It has packages for WPF, Metro, Silverlight, Windows Forms, Avalonia UI, XWT. Besides graphics it can export to SVG, PDF, Open XML, etc. And it even supports Mono and Xamarin for Android and iOS. It is actively developed too.
There is also a new (at least for me) open source .NET plotting library called Live-Charts. The plots are pretty interactive. Library suports WPF, WinForms and UWP. Xamarin is planned. The design is made towards MV* patterns.
But #Paweł Audionysos suggests not such a good performance of Live-Charts WPF.
ZedGraph is a good choice.
See Samples Environment for Microsoft Chart Controls:
The samples environment for Microsoft Chart Controls for .NET Framework contains over 200 samples for both ASP.NET and Windows Forms. The samples cover every major feature in Chart Controls for .NET Framework. They enable you to see the Chart controls in action as well as use the code as templates for your own web and windows applications.
Seems to be more business oriented, but may be of some value to science students and scientists.
gnuplot is an actively maintained program widely used in the scientific community. Normally plots are generated from data files which you can write out in your C# program, but it is also possible to call the gnuplot executable from C# and display the generated image in a C# picture box.
I started using the new ASP.NET Chart control a few days ago, and it's absolutely amazing in its capabilities.
Here is the link.
EDIT: This is obviously only if you are using ASP.NET. Not sure about WinForms.
I just wanted to supplement MajesticRa's recommendation of OxyPlot, and point out how OxyPlot can be used for a variety of plotting cases. The software is free and Open-Source, very polished, and allows for a variety of uses beyon normal 2D mapping.
I've been using OxyPlot for an unorthodox project, where I display (in WPF/C#) a map (Robotic Occupancy Grid) which I could overlay with LineSeries (Path Traveled) and PointSeries (Way Points). Using the OxyPlot ImageAnnotation feature I am able to display 60Hz Video within my OxyPlot, by periodically updating the ImageAnnotation on its own thread, while mapping Series of points overtop the video. The background video and points are even scalable and translatable.
Hopefully this is helpful for other looking to display plots overtop of images and videos.
NPlot is a pretty good simple open source 2D plotting API. Unfortunately, the web site is down. I don't know if this is just temporary or not. I haven't heard of any bad news. It may come back up.
http://www.nplot.com
Here is an article describing it:
https://web.archive.org/web/20210612110405/https://aspnet.4guysfromrolla.com/articles/072507-1.aspx
The previous article uses VB.NET, but obviously this will work with C#.
Again, not sure why nplot's site is not currently working but it is a somewhat popular plotting API that I've used in the past. I post it for your information and in case of the likely event nplot will be back up soon. :)
Edit:
Thanks to a Hosam Aly, it looks like the SourceForge project can still be accessed here:
http://sourceforge.net/projects/nplot
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I want to connect to a USB Webcam in .NET, specifically using C#. Being new to .NET I don't know what kind of support there is in the standard libraries for doing so. I found one example on the web that copies bitmaps through the clipboard, but that seems very hacky (and probably slow). Is there a better way?
You will need to use Windows Image Acquisition (WIA) to integrate a webcam with your application. There are plenty examples of this readily available. Here is a C# Webcam User Control with source.
Here are some more articles and blog posts from people looking to solve the same problem you are:
MSDN Coding4Fun: Look at me! Windows Image Acquisition
CodeProject: WIA Scripting and .NET
CodeProject: WebCam Fast Image Capture Service using WIA
clausn.dk: Webcam control from C# and WIA
Interesting side note, WIA isn't supported by Vista for doing Captures from Webcams anymore. They mainly targeted it towards Scanners and pulling stills from cameras.
Also, larger manufacturers like logitech have abandoned WIA is favor of DirectShow.
Here is nice example of doing this. It's using DirectShow.Net (http://directshownet.sourceforge.net/), which is propably better than using "clipboard" :D.
https://www.codeproject.com/Articles/18511/Webcam-using-DirectShow-NET
Theres a package with functions with a lot of things to do with computer vision systems called AForge. And they have an easy way to get webcam images from a USB camera if you're still looking.
Just check out the sample code for computer vision motion sensor example code. I'm sure you can pull out the function calls you need from it as I did.
[sorry to necro, but this could be of use to someone in the future]
On my computer, WIA was painstakingly sloooow... so i decided to give the Windows Multimedia Video Capture a try.
You can find a demo here.
It really depends on what you want to do. WIA is primarily for capturing stills from imaging devices, and DirectShow (used either through directshow.net or managed DirectX) is for access to fuller video features.
The other option is to create a WPF application. It has a huge amount of built in support for video (to the extent that having a looping video clip as a button is pretty trivial), and should be quick and easy to develop.