Cool Camera has been udpated to 1.9. I just finished uploading the new XAP to marketplace. So whats changed ?
Well not much 🙂 I have been busy with DIY at home so this is a bug fix / UX enhancement release
1) Portrait pictures with zoom were not correctly cropped. Fixed
2) Reduce album view so show only 8 but larger thumbnails
3) Metro UX enhancement in Media viewer based on Dave Crawford’s suggestions. Hide instead of disabling controls and ensure fonts are readable 🙂
I’ve also been testing my Alarm Clock app (supporting multiple alarms)
I started Cool Camera as a stop gap application trying to figure my way around SatNav app (which started while i was answering some posts on AppHub forums). Current availble version stands at 1.6 and 1.7 is with Microsoft.
It has come a long way since 1.0 – which only supported: Taking pictures and a camera style HUD. The picture viewer was very basic. Just display the image in Image control. Since then i have * added support for filters, added video recording and playback, added album viewer. I have worked a bit more on image processing and i am a bit better at image processing.
I started with Rene’s YCbCr code and the first pass to detect whether color falls into skin tone range. The first pass for skin tone detection worked just fine, how search began on how to increase or decrease luminance of image. I came across HSLColor which had an ligthen / darken method but that did’t work so eventually, i used Lerp
public int Process(int inputPixels, int width, int height)
var resultPixels = new int[inputPixels.Length];
// Threshold every pixel
for (int i = 0; i < inputPixels.Length; i++)
int c = inputPixels[i];
var ycbcr = YCbCrColor.FromArgbColori(c);
if (ycbcr.Y >= LowerThreshold.Y && ycbcr.Y <= UpperThreshold.Y
&& ycbcr.Cb >= LowerThreshold.Cb && ycbcr.Cb <= UpperThreshold.Cb
&& ycbcr.Cr >= LowerThreshold.Cr && ycbcr.Cr <= UpperThreshold.Cr)
// skin tone match
System.Windows.Media.Color sc = System.Windows.Media.Color.FromArgb((byte)(c >> 24), (byte)(c >> 16), (byte)(c >> 8), (byte)c);
Microsoft.Xna.Framework.Color xc = new Microsoft.Xna.Framework.Color(sc.R, sc.G, sc.B, sc.A);
xc = Color.Lerp(xc, Color, Amout);
c = (255 << 24) | ((byte)(xc.R > 255 ? 255 : xc.R) << 16) | ((byte)(xc.G > 255 ? 255 : xc.G) << 8) | (byte)(xc.B > 255 ? 255 : xc.B);
resultPixels[i] = c;
Now all you need to do is pass the amount to Lerp and the color. To Darken you pass Black, to lighten, you pass White.
Go a2b still in beta at version 0.5
I have been spending a bit of time on Cool Camera. Version 1.5 is going to be out soon. Version 1.6 is almost ready. I have to start localisation soon.
So far new features in 1.6 include
* HSL (Hue, Saturation and luminance) Dynamic filter
* YUV (Actually YCbCr) – Brightness, Blue and Red chroma dynamic filter
* Corrected preview of Pixelate & Hexagoneal pixelate
* Upload of photos and videos to SkyDrive
* Since album for both photos and videos.
I found out about Microsoft UK’s Developer incentive program about 3 weeks back. It closed this sunday and in that duration i only managed to push out Cool Camera. So i got 1 reward point – its shame.. if i had been keeping up-to-date, i could have done something over the last 3 months… oh well..
So i spent the sole point on a RC Helicopter 🙂 I was tempted by the Tea for Two but then i could have to go far and find childcare for my daughter… not worth it. Can’t wait for it 🙂
Yesterday WordMaster and WordMaster Free became available on marketplace. I have been spending some time on the free version and its not too bad.. its not really a game and i already found a bug 🙂 but i might develop it into a game – as if there aren’t enough word games out there.
I also pushed out Updated to Cool Camera. Now stands are 1.2 ? I modified it a bit based on user request – reduce the volume between 20:00 and 8:00, consume SoundEffect instead of MediaPlayer class to reduce lag (especially the shutter sound) and finally added Lighten / Darken filters.
2) pinch zoom, drag and flick pictures in picture viewer.
3) live effects preview on thumbnails
4) localisation to all support languages – had to eat my words after checking stats for other apps.
5) layout simplification- two columns of selectable options instead of rows.
You can download the update by clicking the link below.
Go A2B works has been slow and i have slipped my target. I am still doing the HUD and i am trying to figure out how to calculate bits of display items e.g. speed – thats simple, distance pending on current leg, next itinreray (for displaying additional directions), max speed for this itinerary, ETA.
I spent about a day debating whether i should go with streamed TTS or have a nice sound files. I guess v1.0 will feature native sound files for English and i will expand in different markets once i have localised sound files in those languages.
I had a last minute niggle yesterday… i finished localisation and the application of filters to thumbnail, obfuscated the xap and was ready to submit it and i thought… i should test and and guess what happened !!!
1) the zoom changes (2nd part – using ScaleTransform) mean the image was getting larger and going under the zoom buttons.. which of course was not acceptable.
2) same thing was happening in picture viewer.
so i spent time today to fix that, reverted to cropping the image and fitting it to image rather than scaling the image (i think its slower than scaling slightly as there’s bitmap creation etc but it works… we shall see.
the only thing i would have liked further is kinetic scrolling on flicking a zoom image, currently i move it twice the distance based on velocity.
Now i am back on Go A2B, the car has been moved to the center, the map viewer and i am working on checking the current location against the path and to recalculate if it moves say 50 meters off the current path., i have started to adding things to the HUD.
The first review of cool camera was 5 Start, the second was 2 start.
The first said that it would be nice to have digital zoom on camera and ability to pinch zoom when viewing the pictures. So, i have added 5 step digital zoom at moves in a step of 0.1. Pinch zoom is working, i have to get drag working and i might just add localisation 😦
The second reviewer said that it was too complicated. I tried to keep it as simple as i could – however i have removed the focus button and the shutter button – there’s a hardware button for shutter for crying out loud. Instead the users will get digital zoom button.
Might finish drag in picture viewer and then will get back on to Go A2B – still have the list of to-do’s and its not getting any smaller by itself.