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)) }
//----------------- // 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) }