Advertise Mobile SDKs Books Events Forum News Social Networking Support Us
Follow @iphonedevsdk on Twitter

Interface 2, Advanced iOS
Mockup & Code Gen
($9.99)

Draw This
($0.99)

Make your own iPhone apps
and run them live!
(free)

Pic Frame Dynamo: Photo Editing
($0.99)

Want your application or service advertised on iPhone Dev SDK?

Go Back   iPhone Dev SDK Forum

View Single Post
Old 07-26-2009, 07:33 PM   #12 (permalink)
ykrsdn
Registered Member
 
Join Date: Jul 2009
Posts: 30
ykrsdn is on a distinguished road
Default

Quote:
Originally Posted by afastrunner View Post
Here is the code i've worked out for anyone else who would like to user it. if anyone sees any problems with the code please let me know.

I've included a few different basic image processing examples just comment/uncomment the one that you want to use. I haven't implemented any Matrix filters but will be working on that soon.

PHP Code:
    CGImageRef inImage img.CGImage;        
    
CGContextRef ctx;
    
        
        
CFDataRef m_DataRef;
        
m_DataRef CGDataProviderCopyData(CGImageGetDataProvider(inImage));
        
UInt8 m_PixelBuf = (UInt8 *) CFDataGetBytePtr(m_DataRef);
    
//    Byte tmpByte;
        
int length CFDataGetLength(m_DataRef);
        
NSLog(@"len %d"length);
        
        
NSLog(@"width=%d, height=%d"CGImageGetWidthinImage ), CGImageGetHeightinImage ));        
        
NSLog(@"1=%d, 2=%d, 3=%d"CGImageGetBitsPerComponent(inImage), CGImageGetBitsPerPixel(inImage),CGImageGetBytesPerRow(inImage));
        

    
//    int Contrast_transform[255];
    //    float contrast = .15;//quantifies the angle of the slope (in radians) of the contrast transform        
    //    for(int i=0;i<256;i++){
    //        if(i<(int)(128.0f+128.0f*tan(contrast))&&i>(int)(128.0f-128.0f*tan(contrast)))
    //            Contrast_transform[i]=(i-128)/tan(contrast)+128;
    //        else if(i>=(int)(128.0f+128.0f*tan(contrast)))
    //            Contrast_transform[i]=255;
    //        else
    //            Contrast_transform[i]=0;
    //    }    
        
        
for (int index 0index lengthindex += 4)
        {
        
//    tmpByte = (m_PixelBuf[index + 1] + m_PixelBuf[index + 2] + m_PixelBuf[index + 3]) / 3;
        //    if (tmpByte >= 128)
        //        m_PixelBuf[index + 1] = m_PixelBuf[index + 2] = m_PixelBuf[index + 3] = 255;
        //    else
        //        m_PixelBuf[index + 1] = m_PixelBuf[index + 2] = m_PixelBuf[index + 3] = 0;
            
            
m_PixelBuf[index 1] = 255 m_PixelBuf[index 1];
            
m_PixelBuf[index 2] = 255 m_PixelBuf[index 2];
            
m_PixelBuf[index 3] =    255 m_PixelBuf[index 3];    
        
        
//    m_PixelBuf[index + 1] = m_PixelBuf[index + 2] = m_PixelBuf[index + 3] = tmpByte;        
    
        //    m_PixelBuf[index + 1] = Contrast_transform[m_PixelBuf[index + 1]];
        //    m_PixelBuf[index + 2] = Contrast_transform[m_PixelBuf[index + 2]];
        //    m_PixelBuf[index + 3] = Contrast_transform[m_PixelBuf[index + 3]];
            
        
}
        
    
        
        
ctx CGBitmapContextCreate(m_PixelBuf,
                                    
CGImageGetWidthinImage ),
                                    
CGImageGetHeightinImage ),
                                    
8,
                                    
CGImageGetBytesPerRowinImage ),
                                    
CGImageGetColorSpaceinImage ),
                                    
kCGImageAlphaPremultipliedFirst );
        
        
        
CGImageRef imageRef CGBitmapContextCreateImage (ctx);
        
UIImagerawImage = [UIImage imageWithCGImage:imageRef];
        
        
CGContextRelease(ctx);
        
    
image.image rawImage
The code seems to be malfunctioning for me (Simulator iPhone OS 2.0), everything gets either drawn to one side or not at all.



Can anyone help, I only altered the code to load an UIImage from the simulator's photo library which was called "image", so the only edited line is :
Code:
CGImageRef inImage = img.CGImage;
Anyway, this was the most helpful piece of code so far. Most of the time, the only reply you get is "buy a book"...
ykrsdn is offline   Reply With Quote
 

» Advertisements
» Stats
Members: 175,014
Threads: 93,862
Posts: 401,918
Top Poster: BrianSlick (7,962)
Welcome to our newest member, Shimi574
Powered by vBadvanced CMPS v3.1.0

All times are GMT -5. The time now is 09:09 AM.
Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.