画像をHTMLのテーブルで表示
はてなはいくで書いた事だけど、画像ファイルをHTMLに変換するプログラム。
dmgとかで公開するのも面倒なので、メソッドだけ公開。
- (NSString*) image2yaml:(NSImage*)img { NSBitmapImageRep* rep = [[NSBitmapImageRep alloc] initWithData:[img TIFFRepresentation]]; unsigned char* bitmapData = [rep bitmapData]; NSMutableString* str = [[NSMutableString alloc] initWithCapacity:1]; long wide = [rep pixelsWide]; long high = [rep pixelsHigh]; long i = 0; long j = 0; long ptr = 0; NSLog(@""); [str appendFormat:@"<table style=\"border:0px #000 solid; width:%f px; height:%f px\">", [rep size].width, [rep size].height]; for (i = 0; i < high; i++) { [str appendString:@"<tr style=\"height:0px; border:0px #000 solid;\">"]; for (j = 0; j < wide; j++) { // CMYKとかグレースケールとかあるけど、そんなの無視。(をぃ ptr = 3 * sizeof(char) * (i * wide + j); [str appendFormat:@"<td style=\"background-color:#%02X%02X%02X;padding:1px; width:0px; border:0px #000 solid;\"></td>", *(bitmapData + ptr), *(bitmapData + ptr + sizeof(char)*1), *(bitmapData + ptr + sizeof(char)*2)]; } [str appendString:@"</tr>"]; } [str appendString:@"</table>"]; return [str autorelease]; }
ちなみに、現在web版をヘタレながら製作中。python、久しぶりに感じるなぁ。
追記:NSString型を返すようにちょい変更。