iOS 文字转化成图片

//文字转化成图片

-(UIImage *)imageFromText:(NSArray*)arrContent withFont:(CGFloat)fontSize withTextColor:(UIColor *)textColor withBgImage:(UIImage *)bgImage withBgColor:(UIColor *)bgColor

{

// set the font type and size

UIFont *font = [UIFont fontWithName:@"Heiti SC" size:fontSize];

NSMutableArray *arrHeight = [[NSMutableArray alloc] initWithCapacity:arrContent.count];

CGFloat fHeight = 0.0f;

for (NSString *sContent in arrContent) {

CGSize stringSize = [sContent sizeWithFont:font constrainedToSize:CGSizeMake(CONTENT_MAX_WIDTH, 10000) lineBreakMode:NSLineBreakByWordWrapping];

[arrHeight addObject:[NSNumber numberWithFloat:stringSize.height]];

fHeight += stringSize.height;

}

CGSize newSize = CGSizeMake(CONTENT_MAX_WIDTH+20, fHeight+50);

// Create a stretchable image for the top of the background and draw it

UIGraphicsBeginImageContextWithOptions(newSize,NO,0.0);

CGContextRef ctx = UIGraphicsGetCurrentContext();

//如果设置了背景图片

if(bgImage)

{

UIImage* stretchedTopImage = [bgImage stretchableImageWithLeftCapWidth:0 topCapHeight:0];

[stretchedTopImage drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];

}else

{

if(bgColor)

{

//填充背景颜色

[bgColor set];

UIRectFill(CGRectMake(0, 0, newSize.width, newSize.height));

}

}

CGContextSetCharacterSpacing(ctx, 10);

CGContextSetTextDrawingMode (ctx, kCGTextFillClip);

[textColor set];

int nIndex = 0;

CGFloat fPosY = 20.0f;

for (NSString *sContent in arrContent) {

NSNumber *numHeight = [arrHeight objectAtIndex:nIndex];

CGRect rect = CGRectMake(10, fPosY, CONTENT_MAX_WIDTH , [numHeight floatValue]);

[sContent drawInRect:rect withFont:font lineBreakMode:NSLineBreakByWordWrapping alignment:NSTextAlignmentLeft];

fPosY += [numHeight floatValue];

nIndex++;

}

// transfer image

UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return image;

}

时间: 2024-10-15 05:32:42

iOS 文字转化成图片的相关文章

python将文字转换成图片

现在又很多工具能将文字转换成图片,这样就可以发送长微博,其实python实现这很容易的,主要就是用到了pygame模块 import os import pygame from pygame.locals import * pygame.init() text = u"这是一段测试文本,test 123." font = pygame.font.SysFont('SimHei', 14) ftext = font.render(text, True, (0, 0, 0), (255,

base64字符串转化成图片

package com.dhht.wechat.util; import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder; import java.io.*; /** * @Author: sh * @Description: ImgUtil * @Date: 9:14 2019/7/1 */public class ImgUtil { /** * 图片转化成base64字符串 * * @param imgPath * @return *

将文本转化成图片

首先要确定你的php是否开启了gd库扩展,只要在浏览器地址栏输入htpp://你的域名/phpinfo.php,回车,只要出现gd,就表示你的php环境支持了gd扩展.如果不支持,直接在php.ini里开启,去掉gd2前的;再重启apache就可以了.如图:   php代码如下: <?php header("Content-type:text/html;charset=utf-8"); header ( 'Content-type: image/png' ); $font_siz

用JavaScript将Canvas内容转化成图片的方法

上周我们花了半天时间开发下一个准备放进Mozilla Marketplace的应用.有一个应用现在非常的火热,那就是Instagram,Facebook花了100万美元收购了它.我们也想有100万美元装到口袋里,我决定开发一个Instagram风格的应用,这篇文章了我将介绍一下如何将一张图片拷贝到canvas里,以及反过来,如何将画布内容保存成图片格式. 使用JavaScript将图片拷贝进画布 要想将图片放入画布里,我们使用canvas元素的drawImage方法: // Converts i

实例——使用PDFRenderer将pdf转化成图片

PDF-Renderer是Sun公布的一个开源项目, 它主要目的是方便用户展示PDF文档. 通过解析PDF文档, 使用户能够在自己的应用中查看, 预览,绘制PNG和合并到3D的场景中. 关于该项目的介绍可以看这里.不过貌似很久没更新了.也是,Sun都已被Oracle收购很久了~ 不过前段时间搞PDF打印的时候也实践了一下PDF-Renderer,下面是一段实例代码: public class TestPDFRenderer { public void Pdf_Png(int pageNumber

WinForm将html内容转化成图片

1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Windows.Forms; 9 10 namespace TCP 11 { 12 public partial class Fo

iOS颜色转换成图片的方法

1 // 颜色转换为背景图片 2 - (UIImage *)imageWithColor:(UIColor *)color { 3 CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f); 4 UIGraphicsBeginImageContext(rect.size); 5 CGContextRef context = UIGraphicsGetCurrentContext(); 6 7 CGContextSetFillColorWithColor(c

手写画板实现并转化成图片

<!DOCTYPE html> <html> <head> <title>画板实验</title> <meta charset="UTF-8"> <meta name="viewport"content="width=device-width, initial-scale=1.0"> <!-- <script type="text/javas

pinyin.js 能把文字转化成拼音和提取首字母等操作的一个插件

var pinyin = (function (){ var Pinyin = function (ops){ this.initialize(ops); }, options = { checkPolyphone: false, charcase: 'default' }; Pinyin.fn = Pinyin.prototype = { init: function (ops){ this.options = extend(options, ops); }, initialize: func