Looking for a good Dynamic Imaging Solution [closed] - 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.

Related

Is it possible to integrate Google Earth in C# desktop application? [closed]

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.

EXIF library for .NET 4.0 framework [closed]

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've searched on this topic but the only suitable threads I can find are dated 2008 hence my new question.
I'm looking at developing a program using C# .Net 4.0 language. The aim of my program will be to extract EXIF information from jpegs (Manufacturer, Model, Geolocation info etc...) and then populate this into a MySql / Sql server DB.
Can anybody recommend any good libraries that may be suitable for this project? I would be looking for camera serial numbers too (I know this varies from manufacturer to manufacturer) but if anybody knows of any existing libraries that address this, it'd be most helpful.
Thanks and enjoy the weekend
The metadata-extractor project has been alive and well since 2002 for Java, and is now available for .NET 3.5 and above. There is also a PCL version.
Open source (Apache 2.0)
Heavily tested and widely used
Supports many image types (JPEG, TIFF, PNG, WebP, GIF, BMP, ICO, PCX...)
Supports many metadata types (Exif, IPTC, XMP, JFIF, ...)
Supports many manufacturer-specific fields (Canon, Nikon, ...)
Very fast (fully processes ~400 images totalling 1.33GB in ~3 seconds) with low memory consumption
It's available via NuGet or GitHub.
Sample usage:
IEnumerable<Directory> directories = ImageMetadataReader.ReadMetadata(path);
foreach (var directory in directories)
foreach (var tag in directory.Tags)
Console.WriteLine($"{directory.Name} - {tag.TagName} = {tag.Description}");
(Disclosure: I maintain this library)
This CodeProject article was written just last month, and its API is a big improvement over some of the other .NET EXIF readers:
http://www.codeproject.com/Articles/36342/ExifLib-A-Fast-Exif-Data-Extractor-for-NET-2-0
It's also available over Nuget, and is licensed under the CPOL.
For basic EXIF information(manufacturer, camera model, time, aperture, etc.), I would look at the System.Drawing.Image class - in particular the PropertiesItems collection.
There are disadvantages to this class. It requires loading the entire image into memory before retrieving the EXIF info (i.e. it is somewhat slow). It also does not handle all of the vendor specific fields that aren't uniform from camera to camera.
Image.PropertyItems
MSDN: Reading Image Metadata
PropertyItem.Id
I have used it with great success to collect information about my photo collection (tens of thousands of photos taken with a dozen different digital cameras of various makes and models).

Looking for Recommendations on Version Control System with Intuitive (.NET) API? [closed]

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'm working on a project which generates (composite) Microsoft Word documents which are comprised of one or more child documents. There are tens of thousands of permutations of the composite documents. Far too many for users to easily manage. Users will need to view/edit the child documents through the app which hides all of the nasty implementation details. A requirement of the system is that the child documents must be version controlled. That is what has been tripping me up.
I've been torn between using an off-the-shelf solution or rolling my own. At a minimum, the system needs to support get latest, get specific version, add new, rename and possibly delete. I’ve whiteboarded it enough to realize it won’t be a trivial task to create my own. As far as commercial systems I have VSS and TFS at my disposal. I've played with the TFS API some, but it isn’t as intuitive or well documented as I had hoped. I'm not averse to an open source solution (e.g. SVN), but I have less familiarity with them.
Which approach or tool would you recommend? Why? Do you have any links to API documentation you would recommend?
Environment: C#, VS2008, SQL Server 2005/2008, low volume (a few hundred operations per day)
SharePoint does a pretty good job of document management, with versioning, etc. It also has plenty of APIs and is a much more modern approach than using the COM layer for VSS. SP would be a good solution if you are writing this as an enterprise solution (dedicated server, etc), but not so good for a desktop or small-business/SOHO app.
Its actually pretty easy to get rolling with document versioning in Sharepoint. If you setup a new list you will be able to define version options for attachments and list items right in the SP list settings.
You can also get a much more detailed control over versioning by using the SP webservices. If your planning on doing all of your document access from within your application, and don't want to have to push users into the Sharepoint site I would use this approach. Here is a good tutorial to get started with SP versioning
Give a try to Plastic SCM. It's distributed, has a great GUI, it can work as centralized too and you'll find tons of .NET assemblies to hook your code.
alt text http://www.codicesoftware.com/images3mk/screenshots/visualize_4.JPG

Good GIS Software or Components for Windows PC in .NET? [closed]

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 4 years ago.
Improve this question
Last week i searched for good free or opensource solutions and component for GIS (Geographical Information Systems) I founded some system but no one fill my requirements
SharpMap is very buggy software
Gmap.net is very slow
MapWindow have a very complex structure and is very buggy.
I founded uDIG but is in java, i need a solution in vb.net or c#.
Anyone know a good solution that fill my requirements or have alternatives, i accept solutions?
You are limiting yourself a lot by insisting on .NET. I don't know of anything other than SharpMap or MapWinGIS ActiveX (MapWindow). Here are some free, but not .NET, options for Windows desktop applications.
If you'd consider writing your standalone application in Python or C++:
Mapnik
QGIS
Or if you'd consider writing a plug-in or a customisation for an existing GIS:
GRASS can be customised in Python, Perl, Ruby...
QGIS can be customised in Python
I think that you've covered it already. There really aren't any production quality open source GIS project out there using C#. Most of the good work is being done in Java, C/C++ or Python these days. If you must use the .NET Framework then I think the best of the bunch is indeed SharpMap.
Failing that you need to look at commercial products from companies like http://www.esri.com. Of course, it also depends on what you need: web services, Windows Forms control, WPF, etc. In the past I've managed to whip up some C# that constructed the right XML to send to a Java server-based mapping engine, so you could look at something like GeoServer and build your own client. Obviously not what you want to get in to but I don't see that you have many options beyond the ones you've listed.
I would recommend to look in to MapAround
Have you checked out SharpMap? It's available on codeplex.
MapSurfer.NET framework might be a good option.
MapSurfer.NET is free, modern cartographic framework which is able to provide maps of superior cartographic quality. This framework supports a bunch spatial data formats (e.g., Shape files, PostgreSQL, OSM, etc.) and web services (e.g., CartoDB, Mapzen, etc.). Furthermore, its setup includes MapSurfer.NET Studio application which allows creating and editing map styles (analogue of TileMill). Its symbology is inspired by both OGC specifications and other similar toolkits such as MapServer, GeoServer or Mapnik.
We use Mapzania (http://www.mapzania.com).
The best thing about it is that you load it into existing web-applications via a NuGet package and then you get a bunch of GIS functionality.
It uses Leaflet as its front-end and it has JS library that makes it easy to do stuff to Leaflet.
It also has a nice MapStyler for creating and editing maps.

Plotting with C# [closed]

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

Categories