Example #1
0
func testHtml2Image() {
	start := time.Now()
	Log("start...")
	//	TestFillString()

	html2image.ToImage("uid", "username", "noteId", "开发一款属于自己的编程语言,开发一款属于自己的编程语言听起来是不是很酷?", `
		<div class="each-post">
			<p>
			一个合格的 Techspace 需要有足够专业的器材、场地和资源,你可以和你的团队在里面进行激光切割、快速贴片甚至加工木材等操作,在相对独立的空间内又能同周围的同道友人互相激发切磋。国内现有的 Techspace 没几家,不久前我去深圳特地拜访了当地的 Techspace,很喜欢那里的氛围,希望国内其他地方也能有更多这类空间供创客发挥。
假如你有一个比较成型的想法,想在硬件领域做点事情,核心团队也基本组好,硬件软件交互基本都有专人了。</p>
			<p><a>这时候你的首要目标</a>,就是找个地方,按照你的计划,尽早做出一个可用的原型。Techspace可能是一个合适的地方。
	一个合格的 Techspace 需要有足够专业的器材、场地和资源,你可以和你的团队在里面进行激光切割、快速贴片甚至加工木材等操作,在相对独立的空间内又能同周围的同道友人互相激发切磋。国内现有的 Techspace 没几家,不久前我去深圳特地拜访了当地的 Techspace,很喜欢那里的氛围,希望国内其他地方也能有更多这类空间供创客发挥。
	深圳 Techspace 位于工业区,园区内有奥迪、BMW 等企业的厂房,在大门口我停下来问保安,M10 栋在哪里?保安答,去 Techspace?最里面靠右手那栋。惊叹于保安的机智,我也在想,莫非有许多朋友都慕名来到这巨大园区寻访 Techspace?
穿过一片工业区里的高楼和各种建筑材料
			</p>
			<!--
			<pre class="">cd jpeg-9a/<br>./configure --enable-shared --enable-static
make<br>make --- install</pre>
			<p>
			life you can, !!@kk
			</p>
			
			-->
		</div>
	`, "/Users/life/Desktop/a.png")
	fmt.Printf("time cost %v\n", time.Now().Sub(start))
}
Example #2
0
//-----------------
// html2image
func (c Note) Html2Image(noteId string) revel.Result {
	re := info.NewRe()
	userId := c.GetUserId()
	note := noteService.GetNote(noteId, userId)
	if note.NoteId == "" {
		return c.RenderJson(re)
	}
	content := noteService.GetNoteContent(noteId, userId)

	// path 判断是否需要重新生成之
	fileUrlPath := "/upload/" + userId + "/images/weibo"
	dir := revel.BasePath + "/public/" + fileUrlPath
	if !ClearDir(dir) {
		return c.RenderJson(re)
	}

	filename := note.NoteId.Hex() + ".png"
	path := dir + "/" + filename

	// 生成之
	html2image.ToImage(userId, c.GetUsername(), noteId, note.Title, content.Content, path)

	re.Ok = true
	re.Id = fileUrlPath + "/" + filename
	return c.RenderJson(re)
}