Click here to Skip to main content
15,895,011 members
Articles / Programming Languages / C#

CloudBox Image Generator

Rate me:
Please Sign up or sign in to vote.
4.67/5 (4 votes)
4 Jun 2012CPOL4 min read 27.2K   358   13  
Image generator for iOS/Android/WP7 develop.
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Diagnostics;

namespace ImageGenerator
{
    public static class CBGenerator
    {
        public static void GenerateIcons(string directory, string fileName)
        {
            CBDeviceManager deviceManager = new CBDeviceManager();
            deviceManager.CreateAllDeviceDirectory(directory);
            CBImageFile image = new CBImageFile(directory, fileName);
            CBIconInfo icons = CBIconInfo.GenerateDefault();
            foreach (CBImageInfo info in icons.IconDefines)
            {
                CBImageManager.SaveIcon(image, info);
            }
        }

        public static void GenerateImage(string fileName, int width, int height)
        {
            CBImageFile image = new CBImageFile(fileName);
            CBDeviceManager deviceManager = new CBDeviceManager();
            deviceManager.CreateAllDeviceDirectory(image.DirectoryName);

            CBImageManager.SaveiOSImage(image, width, height);
            CBImageManager.SaveAndroidImage(image, width, height);
            CBImageManager.SaveWP7Image(image, width, height);
        }

        public static void GenerateImages(string rootImageDirectory, int width, int height)
        {
            CBDeviceManager deviceManager = new CBDeviceManager();
            deviceManager.CreateAllDeviceDirectory(rootImageDirectory);

            string[] files = Directory.GetFiles(rootImageDirectory, "*.png");

            foreach (string fullName in files)
            {
                Debug.WriteLine(fullName);
                CBImageFile image = new CBImageFile(fullName);
                CBImageManager.SaveiOSImage(image, width, height);
                CBImageManager.SaveAndroidImage(image, width, height);
                CBImageManager.SaveWP7Image(image, width, height);
            }
        }

        public static void GenerateImages(string rootImageDirectory)
        {
            CBDeviceManager deviceManager = new CBDeviceManager();
            deviceManager.CreateAllDeviceDirectory(rootImageDirectory);

            string[] files = Directory.GetFiles(rootImageDirectory, "*.png");

            foreach (string fullName in files)
            {
                CBImageFile image = new CBImageFile(fullName);
                // v1.2 fix width and height to even
                int width = image.SourceImage.Width - (image.SourceImage.Width % 2);
                int height = image.SourceImage.Height - (image.SourceImage.Height % 2);
                CBImageManager.SaveiOSImage(image, width, height);
                CBImageManager.SaveAndroidImage(image, width, height);
                CBImageManager.SaveWP7Image(image, width, height);
            }
        }
    }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Architect SIS
Taiwan Taiwan
CloudBox cross-platform framework. (iOS+ Android)
Github: cloudhsu
My APP:
1. Super Baby Pig (iOS+Android)
2. God Lotto (iOS+Android)
2. Ninja Darts (iOS)
3. Fight Bingo (iOS)

Comments and Discussions