Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小雨青年
freetype
提交
9ce4eec9
F
freetype
项目概览
小雨青年
/
freetype
通知
14
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
freetype
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
9ce4eec9
编写于
2月 21, 2016
作者:
N
Nigel Tao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add an example/capjoin program.
上级
aeca2bb5
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
84 addition
and
0 deletion
+84
-0
example/capjoin/main.go
example/capjoin/main.go
+84
-0
未找到文件。
example/capjoin/main.go
0 → 100644
浏览文件 @
9ce4eec9
// Copyright 2016 The Freetype-Go Authors. All rights reserved.
// Use of this source code is governed by your choice of either the
// FreeType License or the GNU General Public License version 2 (or
// any later version), both of which can be found in the LICENSE file.
// +build ignore
//
// This build tag means that "go install github.com/golang/freetype/..."
// doesn't install this example program. Use "go run main.go" to run it.
package
main
import
(
"bufio"
"fmt"
"image"
"image/color"
"image/draw"
"image/png"
"log"
"os"
"github.com/golang/freetype/raster"
"golang.org/x/image/math/fixed"
)
func
main
()
{
const
(
w
=
400
h
=
400
)
r
:=
raster
.
NewRasterizer
(
w
,
h
)
r
.
UseNonZeroWinding
=
true
cjs
:=
[]
struct
{
c
raster
.
Capper
j
raster
.
Joiner
}{
{
raster
.
RoundCapper
,
raster
.
RoundJoiner
},
{
raster
.
ButtCapper
,
raster
.
BevelJoiner
},
{
raster
.
SquareCapper
,
raster
.
BevelJoiner
},
}
for
i
,
cj
:=
range
cjs
{
var
path
raster
.
Path
path
.
Start
(
fixed
.
P
(
30
+
100
*
i
,
30
+
120
*
i
))
path
.
Add1
(
fixed
.
P
(
180
+
100
*
i
,
80
+
120
*
i
))
path
.
Add1
(
fixed
.
P
(
50
+
100
*
i
,
130
+
120
*
i
))
raster
.
Stroke
(
r
,
path
,
fixed
.
I
(
20
),
cj
.
c
,
cj
.
j
)
}
rgba
:=
image
.
NewRGBA
(
image
.
Rect
(
0
,
0
,
w
,
h
))
draw
.
Draw
(
rgba
,
rgba
.
Bounds
(),
image
.
Black
,
image
.
Point
{},
draw
.
Src
)
p
:=
raster
.
NewRGBAPainter
(
rgba
)
p
.
SetColor
(
color
.
RGBA
{
0x7f
,
0x7f
,
0x7f
,
0xff
})
r
.
Rasterize
(
p
)
white
:=
color
.
RGBA
{
0xff
,
0xff
,
0xff
,
0xff
}
for
i
:=
range
cjs
{
rgba
.
SetRGBA
(
30
+
100
*
i
,
30
+
120
*
i
,
white
)
rgba
.
SetRGBA
(
180
+
100
*
i
,
80
+
120
*
i
,
white
)
rgba
.
SetRGBA
(
50
+
100
*
i
,
130
+
120
*
i
,
white
)
}
// Save that RGBA image to disk.
outFile
,
err
:=
os
.
Create
(
"out.png"
)
if
err
!=
nil
{
log
.
Println
(
err
)
os
.
Exit
(
1
)
}
defer
outFile
.
Close
()
b
:=
bufio
.
NewWriter
(
outFile
)
err
=
png
.
Encode
(
b
,
rgba
)
if
err
!=
nil
{
log
.
Println
(
err
)
os
.
Exit
(
1
)
}
err
=
b
.
Flush
()
if
err
!=
nil
{
log
.
Println
(
err
)
os
.
Exit
(
1
)
}
fmt
.
Println
(
"Wrote out.png OK."
)
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录