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.