カメラロールの画像をリサイズしようとするとエラーが出るので…
長辺の長さを指定して画像をリサイズする方法です。
CGImageGetBitsPerComponent を使うと、カメラロールの画像をリサイズする際だけ、以下のエラーが出るので、こちらの方法に変更しました。
CGBitmapContextCreate: でエラーが出る。
CGBitmapContextCreate: invalid data bytes/row:
こちらの方法だとエラーが出ない。
# ViewController.m - (UIImage*)resizeAspectFit:(UIImage*)sourceImage longSide:(NSInteger)longSide { float ow = [sourceImage size].width; float oh = [sourceImage size].height; float rw = ow; float rh = oh; if ( ow > oh ) { // 幅の方が長い rw = longSide; rh = oh * (longSide / ow); } else { // 高さの方が長い rh = longSide; rw = ow * (longSide / oh); } // ここでサイズ変更 CGSize rSize = CGSizeMake(rw, rh); UIGraphicsBeginImageContext(rSize); [sourceImage drawInRect:CGRectMake(0, 0, rSize.width, rSize.height)]; UIImage* resizedImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return resizedImage; }
AnkiMobile と MOLESKINE の両方に記録
正直面倒くさいのでAnkiMobile に一本化したいところですが、MOLESKINE も早いところ使いきってThe HOBBIT Edition を使い始めたいので、当面は両方に記録です。
まあ、MOLESKINE に書いて、ブログに書いて、AnkiMobile に登録して復習すれば、さすがに身に付く…かな?