Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
carrotech
doodle
提交
8c2c0a8c
D
doodle
项目概览
carrotech
/
doodle
与 Fork 源项目一致
从无法访问的项目Fork
通知
5
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
doodle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
8c2c0a8c
编写于
6月 29, 2018
作者:
H
huangziwei
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
重构代码
上级
c4b3cdba
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
37 addition
and
30 deletion
+37
-30
graffiti/src/main/java/cn/hzw/graffiti/GraffitiActivity.java
graffiti/src/main/java/cn/hzw/graffiti/GraffitiActivity.java
+2
-2
graffiti/src/main/java/cn/hzw/graffiti/GraffitiBitmap.java
graffiti/src/main/java/cn/hzw/graffiti/GraffitiBitmap.java
+1
-2
graffiti/src/main/java/cn/hzw/graffiti/GraffitiColor.java
graffiti/src/main/java/cn/hzw/graffiti/GraffitiColor.java
+1
-0
graffiti/src/main/java/cn/hzw/graffiti/GraffitiItemBase.java
graffiti/src/main/java/cn/hzw/graffiti/GraffitiItemBase.java
+9
-6
graffiti/src/main/java/cn/hzw/graffiti/GraffitiPath.java
graffiti/src/main/java/cn/hzw/graffiti/GraffitiPath.java
+4
-4
graffiti/src/main/java/cn/hzw/graffiti/GraffitiText.java
graffiti/src/main/java/cn/hzw/graffiti/GraffitiText.java
+9
-9
graffiti/src/main/java/cn/hzw/graffiti/GraffitiView.java
graffiti/src/main/java/cn/hzw/graffiti/GraffitiView.java
+10
-6
graffiti/src/main/java/cn/hzw/graffiti/IGraffitiItem.java
graffiti/src/main/java/cn/hzw/graffiti/IGraffitiItem.java
+1
-1
未找到文件。
graffiti/src/main/java/cn/hzw/graffiti/GraffitiActivity.java
浏览文件 @
8c2c0a8c
...
...
@@ -241,9 +241,9 @@ public class GraffitiActivity extends Activity {
if
(
mGraffiti
.
getColor
().
getType
()
==
GraffitiColor
.
Type
.
BITMAP
)
{
mBtnColor
.
setBackgroundDrawable
(
new
BitmapDrawable
(
mGraffiti
.
getColor
().
getBitmap
()));
}
else
{
mBtnColor
.
setBackgroundColor
(
mGraffiti
.
getColor
().
getColor
());
mBtnColor
.
setBackgroundColor
(
selectableItem
.
getColor
().
getColor
());
}
mPaintSizeBar
.
setProgress
((
int
)
(
mGraffiti
.
getSize
()
+
0.5f
));
mPaintSizeBar
.
setProgress
((
int
)
(
selectableItem
.
getSize
()
+
0.5f
));
}
else
{
mSelectedTextEditContainer
.
setVisibility
(
View
.
GONE
);
mEditContainer
.
setVisibility
(
View
.
VISIBLE
);
...
...
graffiti/src/main/java/cn/hzw/graffiti/GraffitiBitmap.java
浏览文件 @
8c2c0a8c
...
...
@@ -32,7 +32,6 @@ public class GraffitiBitmap extends GraffitiSelectableItemBase {
return
mBitmap
;
}
@Override
public
void
resetBounds
(
Rect
rect
)
{
if
(
mBitmap
==
null
)
{
...
...
@@ -47,7 +46,7 @@ public class GraffitiBitmap extends GraffitiSelectableItemBase {
}
@Override
public
void
doDraw
(
IGraffiti
graffiti
,
Canvas
canvas
)
{
public
void
doDraw
(
Canvas
canvas
)
{
canvas
.
drawBitmap
(
mBitmap
,
mSrcRect
,
mDstRect
,
null
);
}
...
...
graffiti/src/main/java/cn/hzw/graffiti/GraffitiColor.java
浏览文件 @
8c2c0a8c
...
...
@@ -43,6 +43,7 @@ public class GraffitiColor {
public
void
initColor
(
Paint
paint
,
Matrix
matrix
)
{
if
(
mType
==
Type
.
COLOR
)
{
paint
.
setColor
(
mColor
);
paint
.
setShader
(
null
);
}
else
if
(
mType
==
Type
.
BITMAP
)
{
BitmapShader
shader
=
new
BitmapShader
(
mBitmap
,
mTileX
,
mTileY
);
shader
.
setLocalMatrix
(
matrix
);
...
...
graffiti/src/main/java/cn/hzw/graffiti/GraffitiItemBase.java
浏览文件 @
8c2c0a8c
...
...
@@ -43,6 +43,9 @@ public abstract class GraffitiItemBase implements IGraffitiItem {
@Override
public
void
setGraffiti
(
IGraffiti
graffiti
)
{
mGraffiti
=
graffiti
;
if
(
graffiti
==
null
)
{
return
;
}
mGraffitiRotate
=
graffiti
.
getRotate
();
mOriginalPivotX
=
graffiti
.
getOriginalBitmapWidth
()
/
2
;
mOriginalPivotY
=
graffiti
.
getOriginalBitmapHeight
()
/
2
;
...
...
@@ -124,22 +127,22 @@ public abstract class GraffitiItemBase implements IGraffitiItem {
}
@Override
public
void
draw
(
IGraffiti
graffiti
,
Canvas
canvas
)
{
public
void
draw
(
Canvas
canvas
)
{
canvas
.
save
();
mLocationTemp
=
getLocation
();
// 获取旋转后的起始坐标
canvas
.
translate
(
mLocationTemp
.
x
,
mLocationTemp
.
y
);
// 把坐标系平移到文字矩形范围
canvas
.
rotate
(
g
raffiti
.
getRotate
()
-
mGraffitiRotate
+
mItemRotate
,
0
,
0
);
// 旋转坐标系
canvas
.
rotate
(
mG
raffiti
.
getRotate
()
-
mGraffitiRotate
+
mItemRotate
,
0
,
0
);
// 旋转坐标系
if
(
g
raffiti
.
getSelectedItem
()
==
this
)
{
((
IGraffitiSelectableItem
)
this
).
drawSelectedBackground
(
g
raffiti
,
canvas
);
if
(
mG
raffiti
.
getSelectedItem
()
==
this
)
{
((
IGraffitiSelectableItem
)
this
).
drawSelectedBackground
(
mG
raffiti
,
canvas
);
}
doDraw
(
graffiti
,
canvas
);
doDraw
(
canvas
);
canvas
.
restore
();
}
protected
abstract
void
doDraw
(
IGraffiti
graffiti
,
Canvas
canvas
);
protected
abstract
void
doDraw
(
Canvas
canvas
);
}
graffiti/src/main/java/cn/hzw/graffiti/GraffitiPath.java
浏览文件 @
8c2c0a8c
...
...
@@ -91,8 +91,8 @@ public class GraffitiPath extends GraffitiItemBase {
return
path
;
}
protected
void
doDraw
(
IGraffiti
graffiti
,
Canvas
canvas
)
{
@Override
protected
void
doDraw
(
Canvas
canvas
)
{
mPaint
.
setStrokeWidth
(
getSize
());
mPaint
.
setStyle
(
Paint
.
Style
.
STROKE
);
getColor
().
initColor
(
mPaint
,
null
);
...
...
@@ -100,8 +100,8 @@ public class GraffitiPath extends GraffitiItemBase {
if
(
getShape
()
==
IGraffiti
.
Shape
.
HAND_WRITE
)
{
// 手写
canvas
.
drawPath
(
mPath
,
mPaint
);
}
else
{
// 画图形
mLocationTemp
=
getSxSy
(
g
raffiti
.
getRotate
());
mLocationTemp2
=
getDxDy
(
g
raffiti
.
getRotate
());
mLocationTemp
=
getSxSy
(
g
etGraffiti
()
.
getRotate
());
mLocationTemp2
=
getDxDy
(
g
etGraffiti
()
.
getRotate
());
draw
(
canvas
,
mPaint
,
getShape
(),
mLocationTemp
.
x
,
mLocationTemp
.
y
,
mLocationTemp2
.
x
,
mLocationTemp2
.
y
);
}
}
...
...
graffiti/src/main/java/cn/hzw/graffiti/GraffitiText.java
浏览文件 @
8c2c0a8c
...
...
@@ -12,7 +12,7 @@ import android.text.TextUtils;
public
class
GraffitiText
extends
GraffitiSelectableItemBase
{
private
final
static
Paint
p
aint
=
new
Paint
();
private
final
Paint
mP
aint
=
new
Paint
();
private
String
mText
;
public
GraffitiText
(
IGraffiti
graffiti
,
String
text
,
float
size
,
GraffitiColor
color
,
int
textRotate
,
float
x
,
float
y
)
{
...
...
@@ -37,17 +37,17 @@ public class GraffitiText extends GraffitiSelectableItemBase {
if
(
TextUtils
.
isEmpty
(
mText
))
{
return
;
}
p
aint
.
setTextSize
(
getSize
());
p
aint
.
setStyle
(
Paint
.
Style
.
FILL
);
p
aint
.
getTextBounds
(
mText
,
0
,
mText
.
length
(),
rect
);
mP
aint
.
setTextSize
(
getSize
());
mP
aint
.
setStyle
(
Paint
.
Style
.
FILL
);
mP
aint
.
getTextBounds
(
mText
,
0
,
mText
.
length
(),
rect
);
}
@Override
public
void
doDraw
(
IGraffiti
graffiti
,
Canvas
canvas
)
{
paint
.
setTextSize
(
getSize
()
);
paint
.
setColor
(
getColor
().
getColor
());
p
aint
.
setStyle
(
Paint
.
Style
.
FILL
);
canvas
.
drawText
(
mText
,
0
,
0
,
p
aint
);
public
void
doDraw
(
Canvas
canvas
)
{
getColor
().
initColor
(
mPaint
,
null
);
mPaint
.
setTextSize
(
getSize
());
mP
aint
.
setStyle
(
Paint
.
Style
.
FILL
);
canvas
.
drawText
(
mText
,
0
,
0
,
mP
aint
);
}
}
...
...
graffiti/src/main/java/cn/hzw/graffiti/GraffitiView.java
浏览文件 @
8c2c0a8c
...
...
@@ -23,6 +23,7 @@ import static cn.hzw.graffiti.util.DrawUtil.computeAngle;
import
static
cn
.
hzw
.
graffiti
.
util
.
DrawUtil
.
drawCircle
;
/**
* 涂鸦框架
* Created by huangziwei on 2016/9/3.
*/
public
class
GraffitiView
extends
View
implements
IGraffiti
{
...
...
@@ -432,7 +433,7 @@ public class GraffitiView extends View implements IGraffiti {
if
(
mPathStack
.
size
()
>
0
)
{
for
(
IGraffitiItem
item
:
mPathStack
)
{
item
.
draw
(
this
,
mBitmapCanvas
);
item
.
draw
(
mBitmapCanvas
);
}
}
...
...
@@ -540,7 +541,7 @@ public class GraffitiView extends View implements IGraffiti {
if
(
mPen
==
IGraffiti
.
Pen
.
ERASER
||
mPen
==
IGraffiti
.
Pen
.
COPY
)
{
graffitiPath
.
getColor
().
setColor
(
mBitmap
);
// 图片底色为原图
}
graffitiPath
.
draw
(
this
,
canvas
);
graffitiPath
.
draw
(
canvas
);
}
...
...
@@ -552,7 +553,7 @@ public class GraffitiView extends View implements IGraffiti {
}
for
(
IGraffitiSelectableItem
item
:
mSelectableStack
)
{
item
.
draw
(
this
,
canvas
);
item
.
draw
(
canvas
);
}
}
...
...
@@ -719,7 +720,7 @@ public class GraffitiView extends View implements IGraffiti {
// 保存的时候,把文字画上去
for
(
IGraffitiSelectableItem
item
:
mSelectableStack
)
{
item
.
draw
(
this
,
mBitmapCanvas
);
item
.
draw
(
mBitmapCanvas
);
}
mGraffitiListener
.
onSaved
(
mGraffitiBitmap
);
}
...
...
@@ -1037,7 +1038,7 @@ public class GraffitiView extends View implements IGraffiti {
}
mItemStack
.
add
(
graffitiItem
);
if
(!(
graffitiItem
instanceof
IGraffitiSelectableItem
))
{
graffitiItem
.
draw
(
this
,
mBitmapCanvas
);
// 保存到图片中
graffitiItem
.
draw
(
mBitmapCanvas
);
// 保存到图片中
}
invalidate
();
}
...
...
@@ -1051,8 +1052,11 @@ public class GraffitiView extends View implements IGraffiti {
if
(!(
graffitiItem
instanceof
IGraffitiSelectableItem
))
{
initCanvas
();
for
(
IGraffitiItem
item
:
mPathStack
)
{
item
.
draw
(
this
,
mBitmapCanvas
);
item
.
draw
(
mBitmapCanvas
);
}
}
else
if
(
graffitiItem
==
mSelectedItem
)
{
mSelectedItem
=
null
;
mGraffitiListener
.
onSelectedItem
((
IGraffitiSelectableItem
)
graffitiItem
,
false
);
}
invalidate
();
}
...
...
graffiti/src/main/java/cn/hzw/graffiti/IGraffitiItem.java
浏览文件 @
8c2c0a8c
...
...
@@ -29,7 +29,7 @@ public interface IGraffitiItem {
public
void
setColor
(
GraffitiColor
color
);
public
void
draw
(
IGraffiti
graffiti
,
Canvas
canvas
);
public
void
draw
(
Canvas
canvas
);
/**
* 设置在当前涂鸦中的左上角位置
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录