feat: symbol添加背景、前景、内容显示区域设置

This commit is contained in:
xiaoyan 2023-11-24 09:30:59 +08:00
commit 1ebe58a2a9
59 changed files with 4456 additions and 2058 deletions

View File

@ -21,7 +21,7 @@ android {
minSdk 21 minSdk 21
targetSdk 21 targetSdk 21
versionCode 1 versionCode 1
versionName "1.0" versionName "1.1"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true multiDexEnabled true

View File

@ -65,8 +65,8 @@
"table": "OMDB_LINK_NAME", "table": "OMDB_LINK_NAME",
"code": 2011, "code": 2011,
"name": "道路名", "name": "道路名",
"zoomMin": 15, "zoomMin": 18,
"zoomMax": 17, "zoomMax": 20,
"checkLinkId": false, "checkLinkId": false,
"transformer": [ "transformer": [
{ {
@ -110,14 +110,54 @@
"code": 2019, "code": 2019,
"name": "常规线限速", "name": "常规线限速",
"zoomMin": 15, "zoomMin": 15,
"zoomMax": 17 "zoomMax": 17,
"transformer": [
{
"k": "geometry",
"v": "~",
"klib": "geometry",
"vlib": "translateRight()"
},
{
"k": "geometry",
"v": "~",
"klib": "geometry",
"vlib": "generateS2EReferenceLine()"
},
{
"k": "geometry",
"v": "~",
"klib": "geometry",
"vlib": "generateDirectReferenceLine()"
}
]
}, },
"2020": { "2020": {
"table": "OMDB_LINK_SPEEDLIMIT_COND", "table": "OMDB_LINK_SPEEDLIMIT_COND",
"code": 2020, "code": 2020,
"name": "条件线限速", "name": "条件线限速",
"zoomMin": 15, "zoomMin": 15,
"zoomMax": 17 "zoomMax": 17,
"transformer": [
{
"k": "geometry",
"v": "~",
"klib": "geometry",
"vlib": "translateRight()"
},
{
"k": "geometry",
"v": "~",
"klib": "geometry",
"vlib": "generateS2EReferenceLine()"
},
{
"k": "geometry",
"v": "~",
"klib": "geometry",
"vlib": "generateDirectReferenceLine()"
}
]
}, },
"2021": { "2021": {
"table": "OMDB_LINK_SPEEDLIMIT_VAR", "table": "OMDB_LINK_SPEEDLIMIT_VAR",
@ -134,7 +174,15 @@
"filterData": true, "filterData": true,
"zoomMin": 18, "zoomMin": 18,
"zoomMax": 20, "zoomMax": 20,
"catch": true "catch": true,
"transformer": [
{
"k": "geometry",
"v": "~",
"klib": "geometry",
"vlib": "dengfenLineString()"
}
]
}, },
"2090": { "2090": {
"table": "OMDB_LANE_CONSTRUCTION", "table": "OMDB_LANE_CONSTRUCTION",
@ -388,6 +436,24 @@
"v": "~", "v": "~",
"klib": "geometry", "klib": "geometry",
"vlib": "translateRight()" "vlib": "translateRight()"
},
{
"k": "geometry",
"v": "~",
"klib": "geometry",
"vlib": "generateS2EReferenceLine()"
},
{
"k": "geometry",
"v": "~",
"klib": "geometry",
"vlib": "generateDirectReferenceLine()"
},
{
"k": "geometry",
"v": "~",
"klib": "geometry",
"vlib": "createSpeedLimitText()"
} }
] ]
}, },
@ -404,6 +470,12 @@
"v": "0|", "v": "0|",
"klib": "maxSpeed", "klib": "maxSpeed",
"vlib": "限" "vlib": "限"
},
{
"k": "geometry",
"v": "~",
"klib": "geometry",
"vlib": "createSpeedLimitText()"
} }
] ]
}, },
@ -432,6 +504,12 @@
"v": "3", "v": "3",
"klib": "ref", "klib": "ref",
"vlib": "上" "vlib": "上"
},
{
"k": "geometry",
"v": "~",
"klib": "geometry",
"vlib": "createSpeedLimitText()"
} }
] ]
}, },
@ -589,15 +667,10 @@
"name": "车信", "name": "车信",
"catch": true, "catch": true,
"isDependOnOtherTable": false, "isDependOnOtherTable": false,
"checkLinkId": false,
"zoomMin": 15, "zoomMin": 15,
"zoomMax": 17, "zoomMax": 17,
"transformer": [ "transformer": [
{
"k": "geometry",
"v": "~",
"klib": "geometry",
"vlib": "translateBack()"
},
{ {
"k": "geometry", "k": "geometry",
"v": "~", "v": "~",

View File

@ -455,7 +455,7 @@ class ImportOMDBHelper @AssistedInject constructor(
val boundaryType = renderEntity.properties["boundaryType"] val boundaryType = renderEntity.properties["boundaryType"]
if (boundaryType != null) { if (boundaryType != null) {
when (boundaryType.toInt()) { when (boundaryType.toInt()) {
0, 1, 6, 8, 9 -> { 0, 1, 7, 8 -> {
renderEntity.enable = 0 renderEntity.enable = 0
line = bufferedReader.readLine() line = bufferedReader.readLine()
continue continue
@ -468,7 +468,7 @@ class ImportOMDBHelper @AssistedInject constructor(
val boundaryType = renderEntity.properties["boundaryType"] val boundaryType = renderEntity.properties["boundaryType"]
if (boundaryType != null) { if (boundaryType != null) {
when (boundaryType.toInt()) { when (boundaryType.toInt()) {
0, 1, 3, 4, 5, 7, 9 -> { 0, 1, 2, 7, 8 -> {
renderEntity.enable = 0 renderEntity.enable = 0
line = bufferedReader.readLine() line = bufferedReader.readLine()
continue continue
@ -770,8 +770,8 @@ class ImportOMDBHelper @AssistedInject constructor(
renderEntity.properties.remove("linkPid") renderEntity.properties.remove("linkPid")
} }
//去掉暂用控件较大的字段多余属性字段 //去掉暂用控件较大的字段多余属性字段,保留道路名用于展示详情
if (renderEntity.properties.containsKey("shapeList")) { if (renderEntity.code!=DataCodeEnum.OMDB_LINK_NAME.code&&renderEntity.properties.containsKey("shapeList")) {
renderEntity.properties.remove("shapeList") renderEntity.properties.remove("shapeList")
} }

View File

@ -95,7 +95,6 @@ class ImportPreProcess {
) != null ) != null
) { ) {
// 带有angle字段的数据也有可能是线需要判断是否需要根据指定字段判断数据是否为逆向 // 带有angle字段的数据也有可能是线需要判断是否需要根据指定字段判断数据是否为逆向
var angle = renderEntity?.properties?.get("angle")?.toDouble()!! var angle = renderEntity?.properties?.get("angle")?.toDouble()!!
// angle角度为与正北方向的顺时针夹角将其转换为与X轴正方向的逆时针夹角即为正东方向的夹角 // angle角度为与正北方向的顺时针夹角将其转换为与X轴正方向的逆时针夹角即为正东方向的夹角
angle = ((450 - angle) % 360) angle = ((450 - angle) % 360)
@ -226,7 +225,6 @@ class ImportPreProcess {
// 将这个起终点的线记录在数据中 // 将这个起终点的线记录在数据中
val startEndReference = ReferenceEntity() val startEndReference = ReferenceEntity()
// startEndReference.renderEntityId = renderEntity.id
startEndReference.name = "${renderEntity.name}参考线" startEndReference.name = "${renderEntity.name}参考线"
startEndReference.table = renderEntity.table startEndReference.table = renderEntity.table
startEndReference.code = renderEntity.code startEndReference.code = renderEntity.code
@ -239,11 +237,8 @@ class ImportPreProcess {
GeometryTools.createLineString(arrayOf<Coordinate>(pointStart, pointEnd)).toString() GeometryTools.createLineString(arrayOf<Coordinate>(pointStart, pointEnd)).toString()
startEndReference.properties["qi_table"] = renderEntity.table startEndReference.properties["qi_table"] = renderEntity.table
startEndReference.properties["type"] = "s_2_e" startEndReference.properties["type"] = "s_2_e"
val listResult = mutableListOf<ReferenceEntity>()
startEndReference.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(startEndReference.properties)) startEndReference.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(startEndReference.properties))
renderEntity.referenceEntitys?.add(startEndReference) renderEntity.referenceEntitys.add(startEndReference)
//listResult.add(startEndReference)
//insertData(listResult)
} }
/** /**
@ -306,7 +301,7 @@ class ImportPreProcess {
endReference.properties["qi_table"] = renderEntity.table endReference.properties["qi_table"] = renderEntity.table
endReference.properties["type"] = "e${if (renderEntity.properties["laneType"]!!.toInt() and (0b1000)>0) "_dec" else "_acc"}" endReference.properties["type"] = "e${if (renderEntity.properties["laneType"]!!.toInt() and (0b1000)>0) "_dec" else "_acc"}"
endReference.properties["geometry"] = endReference.geometry endReference.properties["geometry"] = endReference.geometry
renderEntity.referenceEntitys?.add(endReference) renderEntity.referenceEntitys.add(endReference)
//listResult.add(endReference) //listResult.add(endReference)
//insertData(listResult) //insertData(listResult)
} }
@ -325,7 +320,6 @@ class ImportPreProcess {
// 将这个起终点的线记录在数据中 // 将这个起终点的线记录在数据中
val startReference = ReferenceEntity() val startReference = ReferenceEntity()
// startReference.renderEntityId = renderEntity.id
startReference.name = "${renderEntity.name}参考点" startReference.name = "${renderEntity.name}参考点"
startReference.code = renderEntity.code startReference.code = renderEntity.code
startReference.table = renderEntity.table startReference.table = renderEntity.table
@ -363,7 +357,6 @@ class ImportPreProcess {
Log.e("qj", "generateS2EReferencePoint===1") Log.e("qj", "generateS2EReferencePoint===1")
val endReference = ReferenceEntity() val endReference = ReferenceEntity()
// endReference.renderEntityId = renderEntity.id
endReference.name = "${renderEntity.name}参考点" endReference.name = "${renderEntity.name}参考点"
endReference.code = renderEntity.code endReference.code = renderEntity.code
endReference.table = renderEntity.table endReference.table = renderEntity.table
@ -393,10 +386,8 @@ class ImportPreProcess {
} }
endReference.properties["geometry"] = endReference.geometry endReference.properties["geometry"] = endReference.geometry
endReference.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(endReference.properties)) endReference.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(endReference.properties))
renderEntity.referenceEntitys?.add(endReference) renderEntity.referenceEntitys.add(endReference)
//listResult.add(endReference)
Log.e("qj", "generateS2EReferencePoint===4") Log.e("qj", "generateS2EReferencePoint===4")
//insertData(listResult)
} }
/** /**
@ -407,6 +398,7 @@ class ImportPreProcess {
direction: String = "", direction: String = "",
distance: String = "" distance: String = ""
) { ) {
Log.e("qj", "generateDirectReferenceLine===0==${renderEntity.code}")
// 根据数据或angle计算方向对应的角度和偏移量 // 根据数据或angle计算方向对应的角度和偏移量
val geometry = renderEntity.wkt val geometry = renderEntity.wkt
var isReverse = false // 是否为逆向 var isReverse = false // 是否为逆向
@ -473,13 +465,11 @@ class ImportPreProcess {
geometry?.coordinate?.y!! geometry?.coordinate?.y!!
) * Math.sin(radian) ) * Math.sin(radian)
} }
val listResult = mutableListOf<ReferenceEntity>()
for (pointStart in pointStartArray) { for (pointStart in pointStartArray) {
val coorEnd = Coordinate(pointStart.getX() + dx, pointStart.getY() + dy, pointStart.z) val coorEnd = Coordinate(pointStart.getX() + dx, pointStart.getY() + dy, pointStart.z)
val angleReference = ReferenceEntity() val angleReference = ReferenceEntity()
// angleReference.renderEntityId = renderEntity.id
angleReference.name = "${renderEntity.name}参考方向" angleReference.name = "${renderEntity.name}参考方向"
angleReference.table = renderEntity.table angleReference.table = renderEntity.table
angleReference.code = renderEntity.code angleReference.code = renderEntity.code
@ -493,10 +483,9 @@ class ImportPreProcess {
angleReference.properties["qi_table"] = renderEntity.table angleReference.properties["qi_table"] = renderEntity.table
angleReference.properties["type"] = "angle" angleReference.properties["type"] = "angle"
angleReference.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(angleReference.properties)) angleReference.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(angleReference.properties))
renderEntity.referenceEntitys?.add(angleReference) renderEntity.referenceEntitys.add(angleReference)
//listResult.add(angleReference)
} }
//insertData(listResult) Log.e("qj", "generateDirectReferenceLine===1")
} }
fun addAngleFromGeometry(renderEntity: RenderEntity): String { fun addAngleFromGeometry(renderEntity: RenderEntity): String {
@ -574,6 +563,8 @@ class ImportPreProcess {
renderEntityTemp.zoomMax = renderEntity.zoomMax renderEntityTemp.zoomMax = renderEntity.zoomMax
renderEntityTemp.enable = renderEntity.enable renderEntityTemp.enable = renderEntity.enable
renderEntityTemp.taskId = renderEntity.taskId renderEntityTemp.taskId = renderEntity.taskId
renderEntityTemp.linkPid = renderEntity.linkPid
renderEntity.linkRelation = renderEntity.linkRelation
renderEntityTemp.catchEnable = renderEntity.catchEnable renderEntityTemp.catchEnable = renderEntity.catchEnable
var dis = -lateralOffset.toDouble() / 100000000 var dis = -lateralOffset.toDouble() / 100000000
//最小值取10厘米否正渲染太近无法显示 //最小值取10厘米否正渲染太近无法显示
@ -607,6 +598,37 @@ class ImportPreProcess {
if (listResult.size > 0) { if (listResult.size > 0) {
insertData(listResult) insertData(listResult)
} }
}else if(boundaryType.toInt() == 9){//根据线型平分为点数据用于渲染3D标
dengfenLineString(renderEntity)
}
}
}
}
fun dengfenLineString(renderEntity: RenderEntity){
if (renderEntity.code == DataCodeEnum.OMDB_LANE_MARK_BOUNDARYTYPE.code||renderEntity.code == DataCodeEnum.OMDB_RDBOUND_BOUNDARYTYPE.code){
val boundaryType = renderEntity.properties["boundaryType"]
if (boundaryType != null) {
if(boundaryType.toInt()==9){
Log.e("qj","杆状物转换开始")
val geopointList = GeometryTools.getLineToDengGeoPints(renderEntity.wkt,5.0)
geopointList.forEach{
val referenceEntity = ReferenceEntity()
referenceEntity.name = "${renderEntity.name}线转点坐标"
referenceEntity.table = renderEntity.table
referenceEntity.code = renderEntity.code
referenceEntity.geometry = GeometryTools.createGeometry(it).toString()
Log.e("jingo", "几何转换结束")
referenceEntity.properties["qi_table"] = renderEntity.table
referenceEntity.properties["boundaryType"] = "pole"
referenceEntity.zoomMin = renderEntity.zoomMin
referenceEntity.zoomMax = renderEntity.zoomMax
referenceEntity.taskId = renderEntity.taskId
referenceEntity.enable = renderEntity.enable
referenceEntity.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(referenceEntity.properties))
renderEntity.referenceEntitys.add(referenceEntity)
}
Log.e("qj","杆状物转换结束")
} }
} }
} }
@ -636,7 +658,7 @@ class ImportPreProcess {
referenceEntity.zoomMin = renderEntity.zoomMin referenceEntity.zoomMin = renderEntity.zoomMin
referenceEntity.zoomMax = renderEntity.zoomMax referenceEntity.zoomMax = renderEntity.zoomMax
// 与原数据使用相同的geometry // 与原数据使用相同的geometry
referenceEntity.geometry = renderEntity.geometry referenceEntity.geometry = GeometryTools.createGeometry(renderEntity.geometry).toString()
referenceEntity.properties["qi_table"] = renderEntity.table referenceEntity.properties["qi_table"] = renderEntity.table
referenceEntity.properties["symbol"] = "true" referenceEntity.properties["symbol"] = "true"
for (i in 0 until laneInfoDirectArray.length()) { for (i in 0 until laneInfoDirectArray.length()) {
@ -650,30 +672,6 @@ class ImportPreProcess {
"assets:omdb/4601/${type}/1301_${currentDirect}.svg" "assets:omdb/4601/${type}/1301_${currentDirect}.svg"
referenceEntity.properties["img-src"] = if(referenceEntity.properties["img-src"].isNullOrEmpty()) symbol else "${referenceEntity.properties["img-src"]}|${symbol}" referenceEntity.properties["img-src"] = if(referenceEntity.properties["img-src"].isNullOrEmpty()) symbol else "${referenceEntity.properties["img-src"]}|${symbol}"
// // 根据后续的数据生成辅助表数据
// val referenceEntity = ReferenceEntity()
//// referenceEntity.renderEntityId = renderEntity.id
// referenceEntity.name = "${renderEntity.name}参考方向"
// referenceEntity.table = renderEntity.table
// referenceEntity.enable = renderEntity.enable
// referenceEntity.code = renderEntity.code
// referenceEntity.taskId = renderEntity.taskId
// referenceEntity.zoomMin = renderEntity.zoomMin
// referenceEntity.zoomMax = renderEntity.zoomMax
// // 与原数据使用相同的geometry
// referenceEntity.geometry = renderEntity.geometry
// referenceEntity.properties["qi_table"] = renderEntity.table
// referenceEntity.properties["currentDirect"] =
// laneInfoDirectArray[i].toString().split(",").distinct().joinToString("_")
// referenceEntity.properties["currentType"] =
// laneInfoTypeArray[i].toString()
// val type =
// if (referenceEntity.properties["currentType"] == "0") "normal" else if (referenceEntity.properties["currentType"] == "1") "extend" else "bus"
// referenceEntity.properties["symbol"] =
// "assets:omdb/4601/${type}/1301_${referenceEntity.properties["currentDirect"]}.svg"
// Log.d("unpackingLaneInfo", referenceEntity.properties["symbol"].toString())
// referenceEntity.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(referenceEntity.properties))
// renderEntity.referenceEntitys?.add(referenceEntity)
//listResult.add(referenceEntity) //listResult.add(referenceEntity)
} }
referenceEntity.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(referenceEntity.properties)) referenceEntity.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(referenceEntity.properties))
@ -796,7 +794,7 @@ class ImportPreProcess {
angleReference.enable = renderEntity.enable angleReference.enable = renderEntity.enable
val listResult = mutableListOf<ReferenceEntity>() val listResult = mutableListOf<ReferenceEntity>()
angleReference.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(angleReference.properties)) angleReference.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(angleReference.properties))
renderEntity.referenceEntitys?.add(angleReference) renderEntity.referenceEntitys.add(angleReference)
//listResult.add(angleReference) //listResult.add(angleReference)
//insertData(listResult) //insertData(listResult)
} }
@ -828,13 +826,28 @@ class ImportPreProcess {
intersectionReference.properties["qi_table"] = renderEntity.table intersectionReference.properties["qi_table"] = renderEntity.table
intersectionReference.properties["type"] = "node" intersectionReference.properties["type"] = "node"
intersectionReference.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(intersectionReference.properties)) intersectionReference.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(intersectionReference.properties))
renderEntity.referenceEntitys?.add(intersectionReference) renderEntity.referenceEntitys.add(intersectionReference)
//listResult.add(intersectionReference) //listResult.add(intersectionReference)
} }
//insertData(listResult) //insertData(listResult)
} }
} }
/**
* 几何方向排序
* */
fun sortGeometry(renderEntity: RenderEntity) {
// 路口数据的其他点位是保存在nodeList对应的数组下
/* if (renderEntity.properties.containsKey("linkPid")) {
val linkList = renderEntity.properties["linkPid"]?.split(",")
//几何较少时需要判断是否要计算判断长短边
if(linkList!=null&&linkList.size<3){
}
}*/
}
/** /**
* 生成默认路口数据的参考数据 * 生成默认路口数据的参考数据
* */ * */
@ -999,7 +1012,7 @@ class ImportPreProcess {
val code = renderEntity.properties[codeName] val code = renderEntity.properties[codeName]
dynamicSrcReference.properties["src"] = "${prefix}${code}${suffix}" dynamicSrcReference.properties["src"] = "${prefix}${code}${suffix}"
dynamicSrcReference.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(dynamicSrcReference.properties)) dynamicSrcReference.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(dynamicSrcReference.properties))
renderEntity.referenceEntitys?.add(dynamicSrcReference) renderEntity.referenceEntitys.add(dynamicSrcReference)
//listResult.add(dynamicSrcReference) //listResult.add(dynamicSrcReference)
} }
//insertData(listResult) //insertData(listResult)
@ -1260,4 +1273,13 @@ class ImportPreProcess {
zLevelReference.properties["qi_table"] = renderEntity.table zLevelReference.properties["qi_table"] = renderEntity.table
return zLevelReference return zLevelReference
} }
/**
* 创建限速的文字动态数据生成动态symbol
* */
fun createSpeedLimitText(renderEntity: RenderEntity) {
if (renderEntity.properties.containsKey("maxSpeed")) {
renderEntity.properties["text-src"] = "@text:${renderEntity.properties["maxSpeed"]}"
}
}
} }

View File

@ -181,7 +181,7 @@ class RealmOperateHelper() {
var nearLast: Double = 99999.99 var nearLast: Double = 99999.99
for (link in realmList) { for (link in realmList) {
if (polygon.intersects(GeometryTools.createGeometry(link.geometry))) { if (polygon.intersects(GeometryTools.createGeometry(link.geometry))) {
val near = point.distance(GeometryTools.createGeoPoint(link.geometry)) val near = GeometryTools.createGeometry(link.geometry).distance(GeometryTools.createGeometry(point))
if (near < nearLast) { if (near < nearLast) {
nearLast = near nearLast = near
linkBean = link linkBean = link
@ -302,6 +302,7 @@ class RealmOperateHelper() {
// 将获取到的数据和查询的polygon做相交只返回相交的数据 // 将获取到的数据和查询的polygon做相交只返回相交的数据
val queryResult = realmList?.stream()?.filter { val queryResult = realmList?.stream()?.filter {
if (Constant.MapCatchLine) { if (Constant.MapCatchLine) {
Log.e("qj",it.code+"捕捉要素编码"+it.enable+"==="+it.catchEnable)
polygon.intersects(it.wkt) && it.wkt?.geometryType?.uppercase() polygon.intersects(it.wkt) && it.wkt?.geometryType?.uppercase()
.equals("LINESTRING") || it.wkt?.geometryType?.uppercase().equals("POLYGON") .equals("LINESTRING") || it.wkt?.geometryType?.uppercase().equals("POLYGON")
} else { } else {

View File

@ -127,6 +127,7 @@ class LoginActivity : CheckPermissionsActivity() {
private fun initView() { private fun initView() {
//登录校验,初始化成功 //登录校验,初始化成功
viewModel.loginStatus.observe(this, loginObserve) viewModel.loginStatus.observe(this, loginObserve)
viewModel.lastLoginUserInfo(this)
} }
/** /**

View File

@ -8,16 +8,8 @@ import android.widget.Toast
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewModelScope
import androidx.room.migration.Migration
import androidx.sqlite.db.SupportSQLiteDatabase
import com.blankj.utilcode.util.FileIOUtils
import com.blankj.utilcode.util.ResourceUtils import com.blankj.utilcode.util.ResourceUtils
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import com.navinfo.collect.library.data.entity.LinkRelation
import com.navinfo.collect.library.data.entity.RenderEntity
import com.navinfo.collect.library.data.entity.TaskBean import com.navinfo.collect.library.data.entity.TaskBean
import com.navinfo.collect.library.utils.GeometryTools
import com.navinfo.omqs.Constant import com.navinfo.omqs.Constant
import com.navinfo.omqs.bean.LoginUserBean import com.navinfo.omqs.bean.LoginUserBean
import com.navinfo.omqs.bean.SysUserBean import com.navinfo.omqs.bean.SysUserBean
@ -94,13 +86,18 @@ class LoginViewModel @Inject constructor(
var sharedPreferences: SharedPreferences? = null var sharedPreferences: SharedPreferences? = null
var dataIndex = 0
init { init {
loginUser.value = LoginUserBean(userCode = "haofuyue00213", passWord = "123456")
} }
fun lastLoginUserInfo(context: Context){
sharedPreferences =
context.getSharedPreferences("USER_SHAREDPREFERENCES", Context.MODE_PRIVATE)
val userNameCache = sharedPreferences?.getString("userName", "lixiaoming00427")
val passwordCache = sharedPreferences?.getString("passWord", "123456")
loginUser.value = LoginUserBean(userCode = "$userNameCache", passWord = "$passwordCache")
}
/** /**
* 处理注册按钮 * 处理注册按钮
*/ */
@ -270,10 +267,17 @@ class LoginViewModel @Inject constructor(
* 获取任务列表 * 获取任务列表
*/ */
private suspend fun getTaskList(context: Context) { private suspend fun getTaskList(context: Context) {
//每天主动请求一次,其他情况列表内自己手动请求
val questToday = sharedPreferences?.getBoolean(DateTimeUtil.getYYYYMMDDDate()+"getTaskList",false)
if(!questToday!!){
loginStatus.postValue(LoginStatus.LOGIN_STATUS_NET_GET_TASK_LIST) loginStatus.postValue(LoginStatus.LOGIN_STATUS_NET_GET_TASK_LIST)
Log.e("qj","获取任务请求开始==")
when (val result = networkService.getTaskList(Constant.USER_ID)) { when (val result = networkService.getTaskList(Constant.USER_ID)) {
is NetResult.Success -> { is NetResult.Success -> {
if (result.data != null) { if (result.data != null) {
Log.e("qj","获取任务返回成功==")
val realm = Realm.getDefaultInstance() val realm = Realm.getDefaultInstance()
realm.executeTransaction { realm.executeTransaction {
result.data.obj?.let { list -> result.data.obj?.let { list ->
@ -325,54 +329,11 @@ class LoginViewModel @Inject constructor(
} }
realm.close() realm.close()
//增加当天请求过标识
sharedPreferences?.edit()
?.putBoolean(DateTimeUtil.getYYYYMMDDDate()+"getTaskList",true)
Log.e("qj","获取任务结束==")
} }
//测试代码
/* viewModelScope.launch(Dispatchers.IO) {
val userTaskFolder = File(Constant.USER_DATA_PATH + "/4")
if (!userTaskFolder.exists()) userTaskFolder.mkdirs()
val password = "encryp".encodeToByteArray().copyInto(ByteArray(64))
val config = RealmConfiguration.Builder()
.directory(userTaskFolder)
.name("OMQS.realm")
.encryptionKey(password)
.allowQueriesOnUiThread(true)
.schemaVersion(2)
.build()
var realm = Realm.getInstance(config)
var time = System.currentTimeMillis()
Log.e("qj", "test===开始安装")
Realm.compactRealm(config)
realm.beginTransaction()
val txtFile = File(Constant.USER_DATA_PATH + "/OMDB_LANE_MARK_BOUNDARYTYPE")
// 将list数据转换为map
var gson = Gson();
val type = object : TypeToken<RenderEntity>() {}.type
val list = FileIOUtils.readFile2List(txtFile, "UTF-8")
val count = 12
if (list != null) {
for (i in 0 until count) {
for ((index, line) in list.withIndex()) {
if (line == null || line.trim() == "") {
continue
}
val renderEntity = gson.fromJson<RenderEntity>(line, type)
realm.insert(renderEntity)
}
}
Log.e("qj", "test===总数===${list.size*count}")
}
Log.e("qj", "test===提交===${System.currentTimeMillis() - time}")
realm.commitTransaction()
Log.e("qj", "test===提交===${System.currentTimeMillis() - time}")
realm.close()
Log.e("qj", "test===结束===${System.currentTimeMillis() - time}")
}*/
loginStatus.postValue(LoginStatus.LOGIN_STATUS_SUCCESS) loginStatus.postValue(LoginStatus.LOGIN_STATUS_SUCCESS)
} }
@ -395,6 +356,9 @@ class LoginViewModel @Inject constructor(
is NetResult.Loading -> {} is NetResult.Loading -> {}
} }
}else{
loginStatus.postValue(LoginStatus.LOGIN_STATUS_SUCCESS)
}
} }
/** /**

View File

@ -22,8 +22,6 @@ import androidx.recyclerview.widget.RecyclerView
import com.blankj.utilcode.util.ClipboardUtils import com.blankj.utilcode.util.ClipboardUtils
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.google.android.material.tabs.TabLayout import com.google.android.material.tabs.TabLayout
import com.navinfo.collect.library.data.entity.RenderEntity
import com.navinfo.collect.library.enums.DataCodeEnum
import com.navinfo.collect.library.map.NIMapController import com.navinfo.collect.library.map.NIMapController
import com.navinfo.collect.library.map.handler.MeasureLayerHandler import com.navinfo.collect.library.map.handler.MeasureLayerHandler
import com.navinfo.collect.library.utils.DeflaterUtil import com.navinfo.collect.library.utils.DeflaterUtil
@ -688,7 +686,7 @@ class MainActivity : BaseActivity() {
index = p0.position index = p0.position
editText.text = null editText.text = null
//清理已绘制线 //清理已绘制线
mapController.lineHandler.removeLine() mapController.lineHandler.removeAllLine()
mapController.markerHandle.removeMarker("location") mapController.markerHandle.removeMarker("location")
when (p0.position) { when (p0.position) {
0 -> editText.hint = "请输入LinkPid例如12345678" 0 -> editText.hint = "请输入LinkPid例如12345678"
@ -819,25 +817,15 @@ class MainActivity : BaseActivity() {
* zoomOut * zoomOut
*/ */
fun zoomOutOnclick(view: View) { fun zoomOutOnclick(view: View) {
val result = mutableListOf<RenderEntity>() val lineString =
for (i in 0 until 10) { "LINESTRING(115.92708317758513 40.42230758745775 0, 115.9272990153405 40.422317981061205 0, 115.92750895192124 40.42232797132084 0, 115.9277199918031 40.422337964543026 0)"
var renderEntity: RenderEntity = RenderEntity() val geometry = GeometryTools.createGeometry(lineString)
renderEntity.geometry = "POINT(116.2694${i}13016946 40.0844${i}5791644373 0)" //定位
result.add(renderEntity) mapController.animationHandler.animationByLatLon(geometry.centroid.y,geometry.centroid.x,500)
GeometryTools.getLineToDengGeoPints(geometry, 5.0)?.forEach {
mapController.markerHandle.addMarker(it, it.toString())
} }
//计算后 mapController.lineHandler.showLine(geometry.toString())
var index = 0
Log.e("qj","====计算开始")
var lastRender:RenderEntity = RenderEntity()
GeometryTools.groupByDistance(DataCodeEnum.OMDB_TRAFFIC_SIGN.code,result, 5.0)?.forEach {
if(lastRender!=null&&lastRender.geometry!=null&& lastRender.geometry != ""){
if(it.geometry!=lastRender.geometry){
Log.e("qj","${index++}====计算后"+it.geometry)
}
}
lastRender = it
}
Log.e("qj","====计算结束")
mapController.animationHandler.zoomOut() mapController.animationHandler.zoomOut()
} }

View File

@ -719,9 +719,9 @@ class MainViewModel @Inject constructor(
*/ */
private suspend fun captureItem(point: GeoPoint) { private suspend fun captureItem(point: GeoPoint) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
var buffer = 8.0 var buffer = 10.0
if (mapController.mMapView.mapLevel >= 18) { if (mapController.mMapView.mapLevel >= 18) {
buffer = 2.0 buffer = 2.2
} }
val itemList = realmOperateHelper.queryElement( val itemList = realmOperateHelper.queryElement(
GeometryTools.createPoint( GeometryTools.createPoint(
@ -1340,9 +1340,9 @@ class MainViewModel @Inject constructor(
) )
} }
if (data.wkt != null) { /* if (data.wkt != null) {
mapController.markerHandle.removeMarker("moreInfo") mapController.markerHandle.removeMarker("moreInfo")
mapController.lineHandler.removeLine() mapController.lineHandler.removeAllLine()
when (data.wkt!!.geometryType) { when (data.wkt!!.geometryType) {
Geometry.TYPENAME_POINT -> { Geometry.TYPENAME_POINT -> {
val geoPoint = GeometryTools.createGeoPoint(data.wkt!!.toText()) val geoPoint = GeometryTools.createGeoPoint(data.wkt!!.toText())
@ -1350,10 +1350,10 @@ class MainViewModel @Inject constructor(
} }
Geometry.TYPENAME_LINESTRING -> { Geometry.TYPENAME_LINESTRING -> {
mapController.lineHandler.showLine(data.wkt!!.toText()) mapController.lineHandler.showSubLine(data.wkt!!.toText())
}
} }
} }
}*/
} }
fun sendServerCommand( fun sendServerCommand(

View File

@ -12,6 +12,7 @@ import android.widget.Toast
import androidx.activity.result.ActivityResult import androidx.activity.result.ActivityResult
import androidx.activity.result.ActivityResultLauncher import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.result.contract.ActivityResultContracts
import androidx.annotation.RequiresApi
import androidx.databinding.DataBindingUtil import androidx.databinding.DataBindingUtil
import androidx.navigation.NavOptions import androidx.navigation.NavOptions
import androidx.navigation.findNavController import androidx.navigation.findNavController
@ -75,6 +76,7 @@ class EvaluationResultFragment : BaseFragment(), View.OnClickListener {
return binding.root return binding.root
} }
@RequiresApi(Build.VERSION_CODES.N)
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
//// 设置 RecyclerView 的固定大小,避免在滚动时重新计算视图大小和布局,提高性能 //// 设置 RecyclerView 的固定大小,避免在滚动时重新计算视图大小和布局,提高性能
@ -178,6 +180,8 @@ class EvaluationResultFragment : BaseFragment(), View.OnClickListener {
try { try {
signBean = it.getParcelable("SignBean") signBean = it.getParcelable("SignBean")
autoSave = it.getBoolean("AutoSave") autoSave = it.getBoolean("AutoSave")
//高亮数据几何
signBean?.let { it1 -> viewModel.show(it1.renderEntity) }
} catch (_: java.lang.Exception) { } catch (_: java.lang.Exception) {
} }
} }

View File

@ -45,7 +45,9 @@ import io.realm.RealmList
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
import org.locationtech.jts.geom.Geometry
import org.oscim.core.GeoPoint import org.oscim.core.GeoPoint
import org.oscim.core.GeometryBuffer.GeometryType
import java.io.File import java.io.File
import java.io.FileOutputStream import java.io.FileOutputStream
import java.util.* import java.util.*
@ -73,6 +75,8 @@ class EvaluationResultViewModel @Inject constructor(
private val TAG = "点选marker" private val TAG = "点选marker"
private val ELEMENT_MARKER = "elementMarker"
/** /**
* 操作结束销毁页面 * 操作结束销毁页面
*/ */
@ -155,8 +159,10 @@ class EvaluationResultViewModel @Inject constructor(
override fun onCleared() { override fun onCleared() {
super.onCleared() super.onCleared()
mapController.mMapView.removeOnNIMapClickListener(TAG) mapController.mMapView.removeOnNIMapClickListener(TAG)
//移除要素marker
mapController.markerHandle.removeMarker(ELEMENT_MARKER)
mapController.markerHandle.removeMarker() mapController.markerHandle.removeMarker()
mapController.lineHandler.removeLine() mapController.lineHandler.removeAllLine()
} }
@ -204,7 +210,7 @@ class EvaluationResultViewModel @Inject constructor(
} }
} else { } else {
liveDataQsRecordBean.value?.run { liveDataQsRecordBean.value?.run {
elementId = bean.renderEntity.code elementId = bean.renderEntity.id
linkId = bean.linkId linkId = bean.linkId
if (linkId.isNotEmpty()) { if (linkId.isNotEmpty()) {
viewModelScope.launch { viewModelScope.launch {
@ -495,6 +501,7 @@ class EvaluationResultViewModel @Inject constructor(
* 根据数据id查询数据 * 根据数据id查询数据
*/ */
@RequiresApi(Build.VERSION_CODES.N)
fun initData(id: String) { fun initData(id: String) {
Log.e("jingo", "捕捉到的要素 id = $id") Log.e("jingo", "捕捉到的要素 id = $id")
viewModelScope.launch(Dispatchers.Main) { viewModelScope.launch(Dispatchers.Main) {
@ -545,8 +552,14 @@ class EvaluationResultViewModel @Inject constructor(
// 显示语音数据到界面 // 显示语音数据到界面
getChatMsgEntityList() getChatMsgEntityList()
realm.close() realm.close()
if (it.elementId == DataCodeEnum.OMDB_LANEINFO.code) { //增加要素高亮
if(it.elementId!=null){
val realm2 = realmOperateHelper.getSelectTaskRealmInstance() val realm2 = realmOperateHelper.getSelectTaskRealmInstance()
val rEntity = realm2.where(RenderEntity::class.java).equalTo("id",it.elementId).findFirst()
if(rEntity!=null){
show(rEntity!!)
}
if (it.classCode == DataCodeEnum.OMDB_LANEINFO.code) {
val r = realm2.where(RenderEntity::class.java) val r = realm2.where(RenderEntity::class.java)
.equalTo("table", DataCodeEnum.OMDB_LANEINFO.name) .equalTo("table", DataCodeEnum.OMDB_LANEINFO.name)
.equalTo("linkPid", it.linkId).findFirst() .equalTo("linkPid", it.linkId).findFirst()
@ -554,6 +567,7 @@ class EvaluationResultViewModel @Inject constructor(
renderEntity = realm2.copyFromRealm(r) renderEntity = realm2.copyFromRealm(r)
laneInfoList = SignUtil.getLineInfoIcons(renderEntity!!) laneInfoList = SignUtil.getLineInfoIcons(renderEntity!!)
} }
}
realm2.close() realm2.close()
} }
} }
@ -561,8 +575,27 @@ class EvaluationResultViewModel @Inject constructor(
liveDataToastMessage.postValue("数据读取失败") liveDataToastMessage.postValue("数据读取失败")
realm.close() realm.close()
} }
}
}
fun show(renderEntity: RenderEntity) {
if (renderEntity != null) {
if (renderEntity.wkt != null) {
mapController.markerHandle.removeMarker(ELEMENT_MARKER)
mapController.lineHandler.removeElementLine()
when (renderEntity.wkt!!.geometryType) {
Geometry.TYPENAME_POINT -> {
val geoPoint = GeometryTools.createGeoPoint(renderEntity.wkt!!.toText())
mapController.markerHandle.addMarker(geoPoint, ELEMENT_MARKER)
}
Geometry.TYPENAME_LINESTRING -> {
mapController.lineHandler.showElementLine(renderEntity.wkt!!.toText())
}
Geometry.TYPENAME_POLYGON -> {
mapController.lineHandler.showElementLine(renderEntity.wkt!!.toText())
}
}
}
} }
} }

View File

@ -444,7 +444,7 @@ class TaskViewModel @Inject constructor(
override fun onCleared() { override fun onCleared() {
mapController.mMapView.removeOnNIMapClickListener(TAG) mapController.mMapView.removeOnNIMapClickListener(TAG)
mapController.lineHandler.removeLine() mapController.lineHandler.removeAllLine()
sharedPreferences.unregisterOnSharedPreferenceChangeListener(this) sharedPreferences.unregisterOnSharedPreferenceChangeListener(this)
super.onCleared() super.onCleared()
} }

View File

@ -1858,7 +1858,7 @@ class SignUtil {
"3" -> "三角形" "3" -> "三角形"
"4" -> "圆形" "4" -> "圆形"
"5" -> "菱形" "5" -> "菱形"
"6" -> "三角形" "6" -> "三角形"
"7" -> "正方形" "7" -> "正方形"
"8" -> "八角形" "8" -> "八角形"
else -> "" else -> ""

View File

@ -64,7 +64,7 @@
<item <item
android:id="@+id/personal_center_menu_version" android:id="@+id/personal_center_menu_version"
android:icon="@drawable/ic_baseline_layers_24" android:icon="@drawable/ic_baseline_layers_24"
android:title="版本23QE4_V1.5.8_20231103_A" /> android:title="版本24QE1_V1.1.1_20231115_A" />
</group> </group>
<group android:checkableBehavior="single"> <group android:checkableBehavior="single">
<item android:title="小标题"> <item android:title="小标题">

View File

@ -245,6 +245,7 @@
<xs:attribute name="id" default="0" type="xs:string" use="optional"/> <xs:attribute name="id" default="0" type="xs:string" use="optional"/>
<xs:attribute name="use" default="0" type="xs:string" use="optional"/> <xs:attribute name="use" default="0" type="xs:string" use="optional"/>
<!-- 使用动态图标时,以@符号开头建议动态tag的key使用较长(大于4位)的字符串 -->
<xs:attribute name="src" type="tns:src" use="optional"/> <xs:attribute name="src" type="tns:src" use="optional"/>
<xs:attribute name="symbol-width" type="xs:positiveInteger" use="optional"/> <xs:attribute name="symbol-width" type="xs:positiveInteger" use="optional"/>
<xs:attribute name="symbol-height" type="xs:positiveInteger" use="optional"/> <xs:attribute name="symbol-height" type="xs:positiveInteger" use="optional"/>
@ -262,6 +263,10 @@
<xs:attribute name="degree" default="0" type="xs:float" use="optional"/> <xs:attribute name="degree" default="0" type="xs:float" use="optional"/>
<!-- 图标在y轴方向上的偏移量 --> <!-- 图标在y轴方向上的偏移量 -->
<xs:attribute name="dy" default="0" type="xs:float" use="optional"/> <xs:attribute name="dy" default="0" type="xs:float" use="optional"/>
<!-- symbol的背景图片常用来绘制立标 -->
<xs:attribute name="background" type="tns:src" use="optional"/>
<!-- symbol的内容图片的占用区域必须为4个数字组成英文逗号分隔的字符串值为左下的百分比 -->
<xs:attribute name="content-rect" type="xs:string" use="optional"/>
</xs:complexType> </xs:complexType>
<xs:complexType name="extrusion"> <xs:complexType name="extrusion">

View File

@ -1560,15 +1560,18 @@
src="@img-src" symbol-height="24" degree="90"></symbol> src="@img-src" symbol-height="24" degree="90"></symbol>
</m> </m>
</m> </m>
<!-- 杆状物 -->
<m v="OMDB_POLE">
<symbol src="assets:omdb/icon_pole_3006.svg" symbol-height="56" symbol-width="56"></symbol>
</m>
<!-- 交通标牌 --> <!-- 交通标牌 -->
<m v="OMDB_TRAFFIC_SIGN"> <m v="OMDB_TRAFFIC_SIGN">
<caption dy="12" fill="#FF0000" k="name" priority="0" size="12" symbol-width="37"
stroke="#00000000" stroke-width="1.0" bg-fill="#00ffffff"></caption>
<symbol repeat="false" repeat-gap="2000" repeat-start="0" rotate="true" gland="true" <symbol repeat="false" repeat-gap="2000" repeat-start="0" rotate="true" gland="true"
src="@src" symbol-height="24" symbol-width="24" degree="-90" dy="-30"></symbol> src="@src" symbol-width="24" ></symbol>
</m>
<!-- 杆状物 -->
<m v="OMDB_POLE">
<symbol src="assets:omdb/icon_pole_3006.svg" ></symbol>
</m> </m>
<m v="OMDB_AREA"> <m v="OMDB_AREA">
@ -1594,11 +1597,9 @@
<!-- 检查点 --> <!-- 检查点 -->
<m v="OMDB_CHECKPOINT"> <m v="OMDB_CHECKPOINT">
<symbol src="assets:omdb/icon_1012_0.svg" symbol-height="56" <symbol src="assets:omdb/icon_1012_0.svg" ></symbol>
symbol-width="56"></symbol>
</m> </m>
<!-- 铁路路口 --> <!-- 铁路路口 -->
<m v="OMDB_NODE_FORM"> <m v="OMDB_NODE_FORM">
<symbol src="assets:omdb/icon_1007_0.svg" symbol-height="56" <symbol src="assets:omdb/icon_1007_0.svg" symbol-height="56"
@ -1616,24 +1617,29 @@
src="assets:omdb/icon_4023_0.svg" symbol-height="56" symbol-width="56"></symbol> src="assets:omdb/icon_4023_0.svg" symbol-height="56" symbol-width="56"></symbol>
</m> </m>
</m> </m>
<!-- 道路边界类型 --> <!-- 道路边界类型 -->
<m v="OMDB_RDBOUND_BOUNDARYTYPE"> <m v="OMDB_RDBOUND_BOUNDARYTYPE">
<outline-layer id="boundaryType" stroke="#8e44ad" width="0.1" /> <outline-layer id="boundaryType" stroke="#8e44ad" width="0.1" />
<!--护栏--> <!--护栏-->
<m k="boundaryType" v="4"> <m k="boundaryType" v="4">
<line stroke="#FFBC6E" use="boundaryType" width="0.1"/> <symbol repeat="true" repeat-gap="12" gland="true" repeat-start="0.01" src="assets:omdb/icon_2013_4.svg" symbol-width="16" symbol-height="36"></symbol>
<symbol repeat-gap="12" repeat="true" repeat-start="0" src="assets:omdb/icon_2013_4.svg" symbol-width="16" symbol-height="46"></symbol>
</m> </m>
<!--路牙--> <!--路牙-->
<m k="boundaryType" v="3"> <m k="boundaryType" v="3">
<symbol repeat="true" repeat-gap="10" repeat-start="0" src="assets:omdb/icon_2013_3.svg" symbol-width="16" symbol-height="10"></symbol> <symbol repeat="true" repeat-gap="12" gland="true" repeat-start="0.01" src="assets:omdb/icon_2013_3.svg" symbol-width="16" symbol-height="10"></symbol>
</m> </m>
<m k="boundaryType" v="2|6"> <!---->
<line stroke="#ffffff" use="boundaryType" width="0.1"/> <m k="boundaryType" v="5">
<symbol repeat="true" gland="true" repeat-gap="12" repeat-start="0.01" src="assets:omdb/icon_2013_3.svg" symbol-width="24" symbol-height="12"></symbol>
</m> </m>
<m k="boundaryType" v="8"> <!--铺设路面边缘-->
<line stroke="#FFBC6E" use="boundaryType" width="0.1"/> <m k="boundaryType" v="6">
<symbol repeat-gap="12" repeat="true" repeat-start="0" src="assets:omdb/icon_2083_8.svg" symbol-width="24" symbol-height="32"></symbol> <line stroke="#8a8a8a" use="boundaryType"/>
</m>
<!--杆状障碍物-->
<m k="boundaryType" v="pole">
<symbol src="assets:omdb/icon_pole_barrier.svg" gland="true"></symbol>
</m> </m>
</m> </m>
@ -1644,20 +1650,31 @@
<!--护栏--> <!--护栏-->
<m k="boundaryType" v="4"> <m k="boundaryType" v="4">
<line stroke="#FFBC6E" use="boundaryType" width="0.1"/> <symbol repeat="true" repeat-gap="12" gland="true" repeat-start="0.01" src="assets:omdb/icon_2013_4.svg" symbol-width="16" symbol-height="36"></symbol>
<symbol repeat-gap="12" repeat="true" repeat-start="0" src="assets:omdb/icon_2013_4.svg" symbol-width="16" symbol-height="46"></symbol>
</m> </m>
<!--路牙--> <!--路牙-->
<m k="boundaryType" v="3"> <m k="boundaryType" v="3">
<symbol repeat="true" repeat-gap="10" repeat-start="0" src="assets:omdb/icon_2013_3.svg" symbol-width="16" symbol-height="10"></symbol> <symbol repeat="true" gland="true" repeat-gap="12" repeat-start="0.01" src="assets:omdb/icon_2013_3.svg" symbol-width="16" symbol-height="10"></symbol>
</m>
<!---->
<m k="boundaryType" v="5">
<symbol repeat="true" gland="true" repeat-gap="12" repeat-start="0.01" src="assets:omdb/icon_2013_3.svg" symbol-width="24" symbol-height="12"></symbol>
</m>
<!--铺设路面边缘-->
<m k="boundaryType" v="6">
<line stroke="#8a8a8a" use="boundaryType"/>
</m>
<!--杆状障碍物-->
<m k="boundaryType" v="pole">
<line stroke="#ffffff" use="boundaryType"/>
<symbol src="assets:omdb/icon_pole_barrier.svg" gland="true"></symbol>
</m> </m>
<m k="boundaryType" v="2"> <m k="boundaryType" v="2">
<!--标线--> <!--标线-->
<m k="markType" v="0"> <m k="markMaterial" v="2|3">
<line stroke="#eccc68" use="boundaryType" /> <lineSymbol repeat-gap="64" symbol-width="8" src="assets:omdb/icon_2013_2_3.svg"></lineSymbol>
</m> </m>
<!--标线-->
<m k="markType" v="1"> <m k="markType" v="1">
<m k="markColor" v="1"> <m k="markColor" v="1">
<line stroke="#ffffff" use="boundaryType" /> <line stroke="#ffffff" use="boundaryType" />
@ -1893,16 +1910,21 @@
<!--常规点限速--> <!--常规点限速-->
<m v="OMDB_SPEEDLIMIT"> <m v="OMDB_SPEEDLIMIT">
<m k="speedFlag" v="0"> <m k="speedFlag" v="0">
<caption fill="#000000" k="maxSpeed" priority="0" size="12" stroke="#ffffff" <!-- <caption fill="#000000" k="maxSpeed" priority="0" size="12" stroke="#ffffff"-->
stroke-width="1.0"></caption> <!-- stroke-width="1.0"></caption>-->
<symbol src="assets:omdb/icon_4002_0.svg" symbol-height="42" <symbol background="assets:omdb/icon_4002_0.png" symbol-width="24" content-rect="20,80,20,60" src="@text-src"></symbol>
symbol-width="42"></symbol>
</m> </m>
<m k="speedFlag" v="1"> <m k="speedFlag" v="1">
<caption fill="#000000" k="maxSpeed" priority="0" size="12" stroke="#ffffff" <!-- <caption fill="#000000" k="maxSpeed" priority="0" size="10" stroke="#ffffff"-->
stroke-width="1.0"></caption> <!-- stroke-width="1.0"></caption>-->
<symbol src="assets:omdb/icon_4002_1.svg" symbol-height="42" <symbol background="assets:omdb/icon_4002_1.png" symbol-width="24" content-rect="20,80,20,60" src="@text-src"></symbol>
symbol-width="42"></symbol> </m>
<m k="type" v="angle">
<symbol repeat="false" repeat-gap="2000" repeat-start="0" rotate="true" symbol-width="24"
src="assets:omdb/icon_arrow_right.svg" ></symbol>
</m>
<m k="type" v="s_2_e">
<line use="s2e" />
</m> </m>
</m> </m>
@ -1911,14 +1933,19 @@
<m k="speedFlag" v="0"> <m k="speedFlag" v="0">
<caption fill="#000000" k="maxSpeed" priority="0" size="12" stroke="#ffffff" <caption fill="#000000" k="maxSpeed" priority="0" size="12" stroke="#ffffff"
stroke-width="1.0"></caption> stroke-width="1.0"></caption>
<symbol src="assets:omdb/icon_4003_0.svg" symbol-height="42" <symbol src="assets:omdb/icon_4003_0.svg" symbol-width="24" symbol-height="48"></symbol>
symbol-width="42"></symbol>
</m> </m>
<m k="speedFlag" v="1"> <m k="speedFlag" v="1">
<caption fill="#000000" k="maxSpeed" priority="0" size="12" stroke="#ffffff" <caption fill="#000000" k="maxSpeed" priority="0" size="12" stroke="#ffffff"
stroke-width="1.0"></caption> stroke-width="1.0"></caption>
<symbol src="assets:omdb/icon_4003_1.svg" symbol-height="42" <symbol src="assets:omdb/icon_4003_1.svg" symbol-width="24" symbol-height="48"></symbol>
symbol-width="42"></symbol> </m>
<m k="type" v="angle">
<symbol repeat="false" repeat-gap="2000" repeat-start="0" rotate="true" symbol-width="24"
src="assets:omdb/icon_arrow_right.svg" ></symbol>
</m>
<m k="type" v="s_2_e">
<line use="s2e" />
</m> </m>
</m> </m>
@ -1926,27 +1953,27 @@
<m v="OMDB_SPEEDLIMIT_VAR" > <m v="OMDB_SPEEDLIMIT_VAR" >
<caption fill="#ffffff" k="ref" priority="0" size="12" stroke="#ffffff" <caption fill="#ffffff" k="ref" priority="0" size="12" stroke="#ffffff"
stroke-width="1.0"></caption> stroke-width="1.0"></caption>
<symbol src="assets:omdb/icon_4004_0.svg" symbol-height="42" <symbol src="assets:omdb/icon_4004_0.svg" symbol-height="38"
symbol-width="42"></symbol> symbol-width="20"></symbol>
</m> </m>
<!--交通灯--> <!--交通灯-->
<m v="OMDB_TRAFFICLIGHT"> <m v="OMDB_TRAFFICLIGHT">
<symbol repeat="false" rotate="false" src="assets:omdb/icon_4022_0.svg" <caption dy="6" fill="#FF0000" k="name" priority="0" size="12" symbol-width="37"
symbol-height="56" symbol-width="56"></symbol> stroke="#00000000" stroke-width="1.0" bg-fill="#00ffffff"></caption>
<symbol repeat="false" symbol-width="11" gland="true" rotate="false" src="assets:omdb/icon_4022_0.svg"></symbol>
</m> </m>
<!--普通交限--> <!--普通交限-->
<m v="OMDB_RESTRICTION"> <m v="OMDB_RESTRICTION">
<m k="angle"> <m k="angle">
<symbol repeat="false" repeat-start="0" rotate="false" <symbol repeat="false" repeat-start="0" rotate="false"
src="assets:omdb/icon_4006_0.svg" symbol-height="56" symbol-width="56"></symbol> src="assets:omdb/icon_4006_0.svg" symbol-width="24" ></symbol>
</m> </m>
<m k="type" v="angle"> <m k="type" v="angle">
<symbol repeat="false" repeat-gap="2000" repeat-start="0" rotate="true" <symbol repeat="false" repeat-gap="2000" repeat-start="0" rotate="true" symbol-width="24"
src="assets:omdb/icon_arrow_right.svg" symbol-height="56" src="assets:omdb/icon_arrow_right.svg" ></symbol>
symbol-width="56"></symbol>
</m> </m>
<m k="type" v="s_2_e"> <m k="type" v="s_2_e">
<line use="s2e" /> <line use="s2e" />
@ -1956,13 +1983,13 @@
<!--电子眼--> <!--电子眼-->
<m v="OMDB_ELECTRONICEYE"> <m v="OMDB_ELECTRONICEYE">
<m k="eleceyeId"> <m k="eleceyeId">
<caption dy="-12" fill="#ffffff" k="name" priority="0" size="11" <caption dy="-12" fill="#ffffff" k="name" priority="0" size="11" symbol-width="36"
stroke="#000000" stroke-width="1.0" bg-fill="#F98F03"></caption> stroke="#000000" stroke-width="1.0" bg-fill="#F98F03"></caption>
<symbol repeat="false" src="assets:omdb/4010/icon_electroniceye_4010.svg" symbol-height="44" symbol-width="44"></symbol> <symbol repeat="false" src="assets:omdb/4010/icon_electroniceye_4010.svg" symbol-width="24"></symbol>
</m> </m>
<m k="type" v="angle"> <m k="type" v="angle">
<symbol repeat="false" repeat-gap="2000" repeat-start="0" rotate="true" <symbol repeat="false" repeat-gap="2000" repeat-start="0" rotate="true"
src="assets:omdb/icon_arrow_right.svg" symbol-height="54" symbol-width="54"></symbol> src="assets:omdb/icon_arrow_right.svg" symbol-width="24"></symbol>
</m> </m>
<m k="type" v="s_2_e"> <m k="type" v="s_2_e">
<line use="s2e" /> <line use="s2e" />
@ -2024,7 +2051,7 @@
<!-- 箭头 --> <!-- 箭头 -->
<m v="OMDB_OBJECT_ARROW"> <m v="OMDB_OBJECT_ARROW">
<area use="obj-area" stroke="#ffffff" repeat="false" src="@src" longEdge="n" hasDirect="true"></area> <area use="obj-area" stroke="#00ffffff" repeat="false" src="@src" longEdge="n" hasDirect="true"></area>
</m> </m>
<!-- 道路施工 --> <!-- 道路施工 -->
@ -2035,7 +2062,7 @@
<!-- 通行车辆类型Lane --> <!-- 通行车辆类型Lane -->
<m v="OMDB_LANE_ACCESS"> <m v="OMDB_LANE_ACCESS">
<text use="road" size="14" stroke="#ffffff" fill="#e7a32d"></text> <text use="road" size="12" stroke="#ffffff" fill="#e7a32d"></text>
</m> </m>
<!-- 车道施工 --> <!-- 车道施工 -->
@ -2053,7 +2080,7 @@
<m v="OMDB_WARNINGSIGN"> <m v="OMDB_WARNINGSIGN">
<m k="type" v="dynamicSrc"> <m k="type" v="dynamicSrc">
<symbol repeat="false" repeat-gap="2000" repeat-start="0" rotate="true" <symbol repeat="false" repeat-gap="2000" repeat-start="0" rotate="true"
src="@src" symbol-height="24" symbol-width="24" degree="90"></symbol> src="@src" degree="90"></symbol>
</m> </m>
<m k="type" v="s_2_e"> <m k="type" v="s_2_e">
<line use="s2e" /> <line use="s2e" />

View File

@ -1 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="30" height="24" viewBox="0 0 30 24"><defs><style>.d{fill:none;}.e{fill:#ffb400;}</style></defs><g id="c"><path class="e" d="M19.3,20.2v-2.6c0,0-3.5,2.9-3.5,2.9v-3s0-1.8-.4-2.9c-.3-.5-.7-1.2-1.1-1.7h6.4s0,0,0,0L26.5,3.4l1.5,4.6,1.5-2.3L27.5,.2l-5.7,.7-1.3,2.2,4.4-.6-5.2,8.4H1s0,2,0,2H11.1c.6,.1,1.6,.5,2.2,1.3,.8,1.1,.7,3,.7,3v3.3s-3.7-3.1-3.7-3.1v2.7c0,0,4.5,3.6,4.5,3.6l4.5-3.6Z"/><rect class="d" width="30" height="24"/></g></svg> <?xml version="1.0" encoding="UTF-8"?>
<svg id="b" xmlns="http://www.w3.org/2000/svg" width="30" height="24" viewBox="0 0 30 24">
<defs>
<style>.d{fill:none;}.e{fill:#ffb400;}</style>
</defs>
<g id="c">
<path class="e"
d="M19.3,20.2v-2.6c0,0-3.5,2.9-3.5,2.9v-3s0-1.8-.4-2.9c-.3-.5-.7-1.2-1.1-1.7h6.4s0,0,0,0L26.5,3.4l1.5,4.6,1.5-2.3L27.5,.2l-5.7,.7-1.3,2.2,4.4-.6-5.2,8.4H1s0,2,0,2H11.1c.6,.1,1.6,.5,2.2,1.3,.8,1.1,.7,3,.7,3v3.3s-3.7-3.1-3.7-3.1v2.7c0,0,4.5,3.6,4.5,3.6l4.5-3.6Z" />
<rect class="d" width="30" height="24" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 525 B

After

Width:  |  Height:  |  Size: 588 B

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

View File

@ -1 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="32mm" height="32mm" viewBox="0 0 90.7 90.7"><defs><style>.d{fill:#ca171d;stroke:#8b1c21;stroke-miterlimit:10;}.e{fill:#d7e2e3;opacity:0;}</style></defs><g id="c"><g><rect class="e" width="90.7" height="90.7"/><path class="d" d="M17.4,54.1l-14.6-7.3c-.3-.2-.5-.6-.3-.9,0-.1,.2-.2,.3-.3l14.6-7.3c.3-.2,.8,0,.9,.3,0,.2,0,.4,0,.5l-2.5,7.1,2.5,7.1c.1,.4,0,.8-.4,.9-.2,0-.4,0-.5,0Z"/></g></g></svg> <?xml version="1.0" encoding="UTF-8"?>
<svg id="b" xmlns="http://www.w3.org/2000/svg" width="32mm" height="32mm" viewBox="0 0 90.7 90.7">
<defs>
<style>.d{fill:#ca171d;stroke:#8b1c21;stroke-miterlimit:10;}.e{fill:#d7e2e3;opacity:0;}
</style>
</defs>
<g id="c">
<g>
<rect class="e" width="90.7" height="90.7" />
<path class="d"
d="M17.4,54.1l-14.6-7.3c-.3-.2-.5-.6-.3-.9,0-.1,.2-.2,.3-.3l14.6-7.3c.3-.2,.8,0,.9,.3,0,.2,0,.4,0,.5l-2.5,7.1,2.5,7.1c.1,.4,0,.8-.4,.9-.2,0-.4,0-.5,0Z" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 484 B

After

Width:  |  Height:  |  Size: 586 B

View File

@ -1 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="32mm" height="32mm" viewBox="0 0 90.7 90.7"><defs><style>.d{fill:#ca171d;stroke:#8b1c21;stroke-miterlimit:10;}.e{fill:#d7e2e3;opacity:0;}</style></defs><g id="c"><g><rect class="e" width="90.7" height="90.7"/><path class="d" d="M73.3,39.5l14.6,7.3c.3,.2,.5,.6,.3,.9,0,.1-.2,.2-.3,.3l-14.6,7.3c-.3,.2-.8,0-.9-.3,0-.2,0-.4,0-.5l2.5-7.1-2.5-7.1c-.1-.4,0-.8,.4-.9,.2,0,.4,0,.5,0Z"/></g></g></svg> <?xml version="1.0" encoding="UTF-8"?>
<svg id="b" xmlns="http://www.w3.org/2000/svg" width="32mm" height="32mm" viewBox="0 0 90.7 90.7">
<defs>
<style>.d{fill:#ca171d;stroke:#8b1c21;stroke-miterlimit:10;}.e{fill:#d7e2e3;opacity:0;}
</style>
</defs>
<g id="c">
<g>
<rect class="e" width="90.7" height="90.7" />
<path class="d"
d="M73.3,39.5l14.6,7.3c.3,.2,.5,.6,.3,.9,0,.1-.2,.2-.3,.3l-14.6,7.3c-.3,.2-.8,0-.9-.3,0-.2,0-.4,0-.5l2.5-7.1-2.5-7.1c-.1-.4,0-.8,.4-.9,.2,0,.4,0,.5,0Z" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 484 B

After

Width:  |  Height:  |  Size: 586 B

View File

@ -1,11 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<svg id="b" xmlns="http://www.w3.org/2000/svg" width="84.6" height="40.5" <svg id="b" xmlns="http://www.w3.org/2000/svg" width="86" height="205"
xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 84.6 40.5"> xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 86 205">
<defs> <defs>
<style> <linearGradient id="f" x1="39.3" y1="72.2" x2="47.1" y2="72.2"
.e{fill:#fad950;}.f{fill:#1e1e1e;}.g{fill:#0a0a0a;}.h{fill:url(#d);stroke:#8b9fae;stroke-miterlimit:10;stroke-width:1.2px;} gradientUnits="userSpaceOnUse">
</style> <stop offset="0" stop-color="#989898" />
<linearGradient id="d" x1=".6" y1="20.3" x2="84" y2="20.3" gradientUnits="userSpaceOnUse"> <stop offset="0" stop-color="#a3a3a3" />
<stop offset=".1" stop-color="#c4c5c5" />
<stop offset=".2" stop-color="#d8d9d9" />
<stop offset=".3" stop-color="#e0e1e1" />
<stop offset=".4" stop-color="#dbdcdc" />
<stop offset=".5" stop-color="#cccece" />
<stop offset=".6" stop-color="#b5b6b7" />
<stop offset=".7" stop-color="#949697" />
<stop offset=".8" stop-color="#6a6c6f" />
<stop offset=".8" stop-color="#3f4246" />
<stop offset="1" stop-color="#404247" />
<stop offset="1" stop-color="#43434a" />
</linearGradient>
<linearGradient id="g" x1="1.4" y1="21.6" x2="84.2" y2="21.6"
gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#afbacb" /> <stop offset="0" stop-color="#afbacb" />
<stop offset=".1" stop-color="#c1ccda" /> <stop offset=".1" stop-color="#c1ccda" />
<stop offset=".4" stop-color="#d9e6f0" /> <stop offset=".4" stop-color="#d9e6f0" />
@ -17,20 +31,26 @@
</linearGradient> </linearGradient>
</defs> </defs>
<g id="c"> <g id="c">
<g> <rect width="86" height="205" style="fill:#535a60; opacity:0; stroke-width:0px;" />
<rect class="h" x=".6" y=".6" width="83.4" height="39.3" rx="4.6" ry="4.6" /> <ellipse id="d" cx="43" cy="102.5" rx="14.4" ry="3.7"
<g> style="fill:#262d34; isolation:isolate; opacity:.2; stroke-width:0px;" />
<path class="e" <ellipse id="e" cx="43" cy="102.5" rx="7.5" ry="3"
d="M5.8,4.4H78.8c1.4,0,2.6,1.1,2.6,2.6v28.8c0,1.4-1.1,2.6-2.6,2.6H5.8c-1.4,0-2.6-1.1-2.6-2.6V7c0-1.4,1.1-2.6,2.6-2.6Z" /> style="fill:#535a60; stroke-width:0px;" />
<path class="g" <path
d="M78.8,6.5c.3,0,.5,.2,.5,.5v28.8c0,.3-.2,.5-.5,.5H5.8c-.3,0-.5-.2-.5-.5V7c0-.3,.2-.5,.5-.5H78.8m0-4.1H5.8C3.3,2.4,1.2,4.4,1.2,7v28.8c0,2.6,2.1,4.6,4.6,4.6H78.8c2.6,0,4.6-2.1,4.6-4.6V7c0-2.6-2.1-4.6-4.6-4.6h0Z" /> d="m40,41.2h6c.7,0,1.3.6,1.3,1.3v57.4c0,1.9-1.5,3.4-3.4,3.4h-1.8c-1.9,0-3.4-1.5-3.4-3.4v-57.4c0-.7.6-1.3,1.3-1.3Z"
</g> style="fill:url(#f); opacity:.5; stroke-width:0px;" />
</g> <rect x="1.4" y="1.9" width="82.8" height="39.3" rx="4.6" ry="4.6"
<g> style="fill:url(#g); stroke:#8b9fae; stroke-miterlimit:10; stroke-width:1.2px;" />
<path class="f" <rect x="4" y="5.7" width="77.5" height="34" rx="2.6" ry="2.6"
d="M27.6,22.5c-.3-.5-.7-1-1-1.4v6.9h-1.5v-6.6c-.5,1.1-1.1,2.2-1.6,3.1l-1-1.3c.8-1.2,1.9-3.2,2.5-4.9h-1.7v-1.5h1.8v-2.8h1.5v2.8h1.5v1.5h-1.5v1.4l.2-.2c.5,.5,1.3,1.5,1.7,2.1l-1,1Zm3.2-.8c-.5,1.6-1.4,3.8-2.2,5.2l-1.4-.8c.8-1.4,1.7-3.5,2.2-5l1.4,.6Zm2.3-1.4v6.1c0,1.3-.5,1.5-1.8,1.7h-.8c0,0-.5-1.5-.5-1.5h.8c.7-.1,.8-.2,.8-.8v-5.4h-3.4v-1.6h8.6v1.6h-3.7Zm2.9-3.9h-7.2v-1.6h7.2v1.6Zm-1.1,4.8c.5,1.2,1.7,3.7,2.1,5l-1.4,.7c-.4-1.2-1.5-3.8-2-5.1l1.3-.6Z" /> style="fill:#fad950; stroke-width:0px;" />
<path class="f" <path
d="M48.9,21.4h2.5v6.5h-1.3v-5h-1.2c-.1,2.3-.5,3.7-1.2,5.3l-1.4-.7c.9-2.2,1.3-3.2,1.3-7v-6h1.4v3.9h1.1v-4.2h1.3v4.2h1v1.5h-3.3v1.5Zm11.5,4.1h-3.2v2.5h-1.5v-2.5h-4v-1.4h1.3l-.4-.5c.7-.5,1.3-.8,1.7-1.3h-1.9v-7h2.2c.2-.6,.5-1.3,.6-1.7l1.5,.4c-.1,.3-.3,.8-.5,1.3h3.2v7h-3.7c-.4,.7-1,1.3-1.7,1.9h1.5v-1.5h1.5v1.5h3.2v1.4Zm-6.6-8.9v1.5h1.6v-1.5h-1.6Zm1.3,4.3c.1-.4,.2-.9,.2-1.5h-1.5v1.5h1.3Zm3.1,0v-1.5h-1.6c0,.5-.1,1-.2,1.5h1.8Zm0-4.3h-1.5v1.5h1.5v-1.5Z" /> d="m79,7.7c.3,0,.5.2.5.5v28.8c0,.3-.2.5-.5.5H6.6c-.3,0-.5-.2-.5-.5V8.3c0-.3.2-.5.5-.5h72.4m0-4.1H6.6c-2.6,0-4.6,2.1-4.6,4.6v28.8c0,2.6,2.1,4.6,4.6,4.6h72.4c2.6,0,4.6-2.1,4.6-4.6V8.3c0-2.6-2.1-4.6-4.6-4.6h0Z"
</g> style="fill:#0a0a0a; stroke-width:0px;" />
<path
d="m24.3,25c-.4-.6-.9-1.3-1.3-1.9v9.3h-2.1v-8.8c-.6,1.5-1.4,3-2.1,4.1l-1.3-1.8c1.1-1.7,2.5-4.3,3.3-6.6h-2.2v-2h2.4v-3.7h2.1v3.7h2v2h-2v1.9l.3-.3c.6.6,1.7,2,2.3,2.8l-1.3,1.3Zm4.3-1.1c-.6,2.1-1.9,5.2-2.9,7l-1.9-1c1.1-1.9,2.3-4.7,2.9-6.8l1.9.8Zm3.1-1.9v8.2c0,1.8-.7,2.1-2.4,2.2h-1.1c0,.1-.7-2.1-.7-2.1h1.1c.9-.1,1-.2,1-1.1v-7.2h-4.5v-2.2h11.5v2.2h-4.9Zm3.9-5.2h-9.6v-2.1h9.6v2.1Zm-1.5,6.4c.7,1.6,2.2,4.9,2.8,6.7l-1.9.9c-.6-1.7-2-5.2-2.7-6.8l1.7-.8Z"
style="fill:#1e1e1e; stroke-width:0px;" />
<path
d="m52.7,23.5h3.3v8.8h-1.7v-6.8h-1.6c-.2,3.1-.7,4.9-1.7,7.1l-1.8-.9c1.2-2.9,1.7-4.3,1.7-9.4v-8.1h1.8v5.2h1.5v-5.6h1.7v5.6h1.3v2h-4.5v2.1Zm15.3,5.5h-4.3v3.4h-2v-3.4h-5.3v-1.9h1.7l-.5-.7c1-.6,1.7-1.1,2.3-1.8h-2.5v-9.4h3c.3-.8.6-1.7.8-2.2l2,.5c-.1.4-.4,1.1-.6,1.7h4.3v9.4h-4.9c-.6,1-1.3,1.8-2.3,2.5h2v-2.1h2v2.1h4.3v1.9Zm-8.8-11.9v2h2.1v-2h-2.1Zm1.7,5.7c.2-.5.3-1.2.3-2h-2v2h1.7Zm4.2,0v-2h-2.1c0,.7-.2,1.4-.3,2h2.4Zm0-5.7h-2.1v2h2.1v-2Z"
style="fill:#1e1e1e; stroke-width:0px;" />
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="b" xmlns="http://www.w3.org/2000/svg" width="64" height="124.8"
xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 64 124.8">
<defs>
<linearGradient id="f" x1="29.3" y1="31.1" x2="34.8" y2="31.1"
gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#989898" />
<stop offset="0" stop-color="#a3a3a3" />
<stop offset=".1" stop-color="#c4c5c5" />
<stop offset=".2" stop-color="#d8d9d9" />
<stop offset=".3" stop-color="#e0e1e1" />
<stop offset=".4" stop-color="#dbdcdc" />
<stop offset=".5" stop-color="#cccece" />
<stop offset=".6" stop-color="#b5b6b7" />
<stop offset=".7" stop-color="#949697" />
<stop offset=".8" stop-color="#6a6c6f" />
<stop offset=".8" stop-color="#3f4246" />
<stop offset="1" stop-color="#404247" />
<stop offset="1" stop-color="#43434a" />
</linearGradient>
<linearGradient id="g" x1="1.3" y1="14.1" x2="62.5" y2="14.1"
gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#afbacb" />
<stop offset=".1" stop-color="#c1ccda" />
<stop offset=".4" stop-color="#d9e6f0" />
<stop offset=".5" stop-color="#e3f0f8" />
<stop offset=".6" stop-color="#dde9f2" />
<stop offset=".8" stop-color="#ccd8e4" />
<stop offset="1" stop-color="#b1bbcc" />
<stop offset="1" stop-color="#aeb8c9" />
</linearGradient>
</defs>
<g id="c">
<rect y="0" width="64" height="124.7" style="fill:#535a60; opacity:0; stroke-width:0px;" />
<ellipse id="d" cx="31.9" cy="61.4" rx="14.4" ry="3.7"
style="fill:#262d34; isolation:isolate; opacity:.2; stroke-width:0px;" />
<ellipse id="e" cx="31.9" cy="61.4" rx="7.5" ry="3"
style="fill:#535a60; stroke-width:0px;" />
<path
d="m29.8,0h4.1c.5,0,.9.4.9.9v58.6c0,1.4-1.1,2.5-2.5,2.5h-1c-1.4,0-2.5-1.1-2.5-2.5V1c0-.5.4-.9.9-.9Z"
style="fill:url(#f); stroke-width:0px;" />
<rect x="1.3" y=".4" width="61.1" height="27.3" rx="4.6" ry="4.6"
style="fill:url(#g); stroke:#8b9fae; stroke-miterlimit:10; stroke-width:.9px;" />
<path
d="m6.4,2.6h51c2,0,3.7,1.7,3.7,3.7v17.2c0,2-1.7,3.7-3.7,3.7H6.4c-2,0-3.7-1.7-3.7-3.7V6.3c0-2,1.7-3.7,3.7-3.7Z"
style="fill:#fad950; stroke-width:0px;" />
<path
d="m57.4,3.5c1.5,0,2.8,1.2,2.8,2.8v17.2c0,1.5-1.2,2.8-2.8,2.8H6.4c-1.5,0-2.8-1.2-2.8-2.8V6.3c0-1.5,1.2-2.8,2.8-2.8h51m0-1.9H6.4C3.8,1.7,1.8,3.7,1.8,6.3v17.2c0,2.6,2.1,4.6,4.6,4.6h51c2.6,0,4.6-2.1,4.6-4.6V6.3c0-2.6-2.1-4.6-4.6-4.6h0Z"
style="fill:#0a0a0a; stroke-width:0px;" />
<path
d="m17.4,15.9c-.3-.5-.7-1-1-1.4v6.9h-1.5v-6.6c-.5,1.1-1.1,2.2-1.6,3.1l-1-1.3c.8-1.2,1.9-3.2,2.5-4.9h-1.7v-1.5h1.8v-2.8h1.5v2.8h1.5v1.5h-1.5v1.4l.2-.2c.5.5,1.3,1.5,1.7,2.1l-1,1Zm3.2-.8c-.5,1.6-1.4,3.8-2.2,5.2l-1.4-.8c.8-1.4,1.7-3.5,2.2-5l1.4.6Zm2.3-1.4v6.1c0,1.3-.5,1.5-1.8,1.7h-.8c0,0-.5-1.5-.5-1.5h.8c.7-.1.8-.2.8-.8v-5.4h-3.4v-1.6h8.6v1.6h-3.7Zm2.9-3.9h-7.2v-1.6h7.2v1.6Zm-1.1,4.8c.5,1.2,1.7,3.7,2.1,5l-1.4.7c-.4-1.2-1.5-3.8-2-5.1l1.3-.6Z"
style="fill:#1e1e1e; stroke-width:0px;" />
<path
d="m38.7,14.8h2.5v6.5h-1.3v-5h-1.2c-.1,2.3-.5,3.7-1.2,5.3l-1.4-.7c.9-2.2,1.3-3.2,1.3-7v-6h1.4v3.9h1.1v-4.2h1.3v4.2h1v1.5h-3.3v1.5Zm11.5,4.1h-3.2v2.5h-1.5v-2.5h-4v-1.4h1.3l-.4-.5c.7-.5,1.3-.8,1.7-1.3h-1.9v-7h2.2c.2-.6.5-1.3.6-1.7l1.5.4c-.1.3-.3.8-.5,1.3h3.2v7h-3.7c-.4.7-1,1.3-1.7,1.9h1.5v-1.5h1.5v1.5h3.2v1.4Zm-6.6-8.9v1.5h1.6v-1.5h-1.6Zm1.3,4.3c.1-.4.2-.9.2-1.5h-1.5v1.5h1.3Zm3.1,0v-1.5h-1.6c0,.5-.1,1-.2,1.5h1.8Zm0-4.3h-1.5v1.5h1.5v-1.5Z"
style="fill:#1e1e1e; stroke-width:0px;" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="b" xmlns="http://www.w3.org/2000/svg" width="28" height="20"
xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 28 20">
<defs>
<linearGradient id="d" x1="14" y1="18.6" x2="14" y2="9.8" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#f5a823" />
<stop offset=".3" stop-color="#f5c003" />
<stop offset=".5" stop-color="#f6d11b" />
<stop offset=".7" stop-color="#f8e93e" />
<stop offset=".9" stop-color="#f9f956" />
<stop offset="1" stop-color="#faff5f" />
</linearGradient>
<linearGradient id="e" x1="14" y1="17.8" x2="14" y2="10.1" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#ff7e00" />
<stop offset=".3" stop-color="#fe8000" />
<stop offset=".5" stop-color="#fd8900" />
<stop offset=".6" stop-color="#fa9901" />
<stop offset=".8" stop-color="#f7ae02" />
<stop offset=".9" stop-color="#f5c003" />
<stop offset=".9" stop-color="#f6d11b" />
<stop offset="1" stop-color="#f8e93e" />
<stop offset="1" stop-color="#f9f956" />
<stop offset="1" stop-color="#faff5f" />
</linearGradient>
<linearGradient id="f" x1=".4" y1="9.5" x2="7.3" y2="9.5" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#ff9f0f" />
<stop offset=".2" stop-color="#edb80f" />
<stop offset=".5" stop-color="#f6d11b" />
<stop offset=".7" stop-color="#f8e93e" />
<stop offset=".9" stop-color="#f9f956" />
<stop offset="1" stop-color="#faff5f" />
</linearGradient>
<linearGradient id="g" x1="278.2" y1="25.4" x2="285.1" y2="25.4"
gradientTransform="translate(305.8 -15.9) rotate(-180) scale(1 -1)" xlink:href="#f" />
</defs>
<g id="c">
<rect x="20.9" y=".5" width="7.1" height="19.3" rx="1" ry="1"
style="fill:#684214; stroke-width:0px;" />
<rect x="0" y="18.2" width="27.8" height="1.8" rx=".9" ry=".9"
style="fill:#684214; stroke-width:0px;" />
<rect width="27.8" height="19.1" rx="1" ry="1" style="fill:#e8b30a; stroke-width:0px;" />
<rect x=".2" y=".5" width="27.6" height="18.6" rx="1" ry="1"
style="fill:#fcd90b; stroke-width:0px;" />
<path
d="m21.5,9.8H6.6c-.5,0-.9.2-1.2.6l-4.2,6c-.7.9,0,2.2,1.2,2.2h23.2c1.1,0,1.8-1.3,1.2-2.2l-4.1-6c-.3-.4-.7-.6-1.2-.6Z"
style="fill:url(#d); stroke-width:0px;" />
<rect x="6.7" y="2.8" width="14.4" height="7.5" style="fill:#fffdab; stroke-width:0px;" />
<path
d="m20.2,10.1H7.9c-.5,0-.9.2-1.2.6l-3.3,4.8c-.6.9,0,2.2,1.2,2.2h18.8c1.1,0,1.8-1.3,1.2-2.2l-3.2-4.8c-.3-.4-.7-.6-1.2-.6Z"
style="fill:url(#e); stroke-width:0px;" />
<path d="m7.3,8.4V2.8L.4,1v17.1c0,0,6.4-8.1,6.4-8.1.4-.4.5-1,.5-1.6Z"
style="fill:url(#f); stroke-width:0px;" />
<path d="m20.6,8.4V2.8s6.9-1.8,6.9-1.8v17.1c0,0-6.4-8.1-6.4-8.1-.4-.4-.5-1-.5-1.6Z"
style="fill:url(#g); stroke-width:0px;" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -1 +1,58 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="124.7" height="124.7" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 124.7 124.7"><defs><style>.i{fill:url(#f);}.j{fill:#fff;}.k{fill:#1566e8;}.l,.m{fill:#535a60;}.n{fill:#262d34;isolation:isolate;opacity:.2;}.o{fill:url(#g);stroke:#8b9fae;stroke-miterlimit:10;stroke-width:1px;}.m{opacity:0;}</style><linearGradient id="f" x1="60.1" y1="50.4" x2="64.9" y2="50.4" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#989898"/><stop offset="0" stop-color="#a3a3a3"/><stop offset=".1" stop-color="#c4c5c5"/><stop offset=".2" stop-color="#d8d9d9"/><stop offset=".3" stop-color="#e0e1e1"/><stop offset=".4" stop-color="#dbdcdc"/><stop offset=".5" stop-color="#cccece"/><stop offset=".6" stop-color="#b5b6b7"/><stop offset=".7" stop-color="#949697"/><stop offset=".8" stop-color="#6a6c6f"/><stop offset=".8" stop-color="#3f4246"/><stop offset="1" stop-color="#404247"/><stop offset="1" stop-color="#43434a"/></linearGradient><linearGradient id="g" x1="40.1" y1="23.8" x2="84.6" y2="23.8" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#afbacb"/><stop offset=".1" stop-color="#c1ccda"/><stop offset=".4" stop-color="#d9e6f0"/><stop offset=".5" stop-color="#e3f0f8"/><stop offset=".6" stop-color="#dde9f2"/><stop offset=".8" stop-color="#ccd8e4"/><stop offset="1" stop-color="#b1bbcc"/><stop offset="1" stop-color="#aeb8c9"/></linearGradient></defs><g id="c"><g><rect class="m" y="0" width="124.7" height="124.7"/><g><ellipse id="d" class="n" cx="62.4" cy="61.8" rx="14.4" ry="3.7"/><ellipse id="e" class="l" cx="62.4" cy="61.8" rx="7.5" ry="3"/><path class="i" d="M62.4,38.3h0c1.4,0,2.6,1.2,2.6,2.6v19.2c0,1.4-1.1,2.5-2.5,2.5h-.3c-1.4,0-2.5-1.1-2.5-2.5v-19.3c0-1.4,1.2-2.6,2.6-2.6Z"/><rect class="o" x="40.1" y=".5" width="44.5" height="46.6" rx="14.4" ry="14.4"/><rect class="k" x="40.6" y="2.6" width="43.5" height="44" rx="14.1" ry="14.1"/><path id="h" class="j" d="M46,11.4c-.3,0-.6-.2-.7-.4s0-.6,.1-.8c1.3-1.6,3-2.9,4.8-3.9,.2,0,.4-.1,.6,0,.2,0,.4,.2,.5,.4,.2,.4,0,.9-.3,1.1-1.7,.9-3.1,2.1-4.3,3.5-.2,.2-.4,.3-.6,.3h0Zm-1.8,2.6c-.1,0-.3,0-.4-.1-.2-.1-.3-.3-.4-.5,0-.2,0-.4,.1-.6l.3-.4c.1-.2,.3-.3,.5-.4,.2,0,.4,0,.6,0,.2,.1,.3,.3,.4,.5s0,.4-.1,.6l-.3,.4c-.1,.2-.4,.4-.7,.4h0Z"/><g><path class="j" d="M61,23.3c-.3-.1-.7-.4-1.2-.7,0,0-.2,0-.2-.1v1.5h-7.1v-1.4c-.2,.2-.5,.4-.9,.7-.1,0-.2,.2-.3,.2-.3-.5-.5-1.1-.9-1.6,.2,0,.4-.2,.6-.3h-1.6v1.8c.7,.5,1.4,1.1,2.1,1.7l-.9,1.4-1.2-1.2v7.3h-1.6v-7.6c-.4,1.3-1,2.5-1.8,3.8,0-.6-.2-1.4-.4-2.3,.9-1.5,1.6-3.2,2.2-4.9h-1.8v-1.5h1.8v-3.2h1.6v3.2h1.6v1.5c1.9-1.2,3.4-2.8,4.4-4.9h1.8c0,.1-.3,.9-.3,.9,1.4,1.8,3,3.2,4.8,4.1-.3,.5-.5,1.1-.7,1.6Zm-10.3,8.5v-1.4h6.6c.4-1,.8-2.4,1.4-4.4,.1-.5,.2-.9,.3-1.1l1.6,.4c-.1,.4-.3,1-.6,1.7-.5,1.5-.9,2.6-1.2,3.4h2.4v1.4h-10.6Zm2-2c-.4-1.4-.8-2.9-1.2-4.3l1.4-.3c.5,1.3,.9,2.7,1.3,4.2l-1.5,.4Zm3.3-10.8c-.9,1.3-2,2.5-3.3,3.5h6.9c-1.5-1.1-2.7-2.3-3.5-3.5Zm-.3,10.1c-.2-1.1-.5-2.5-1-4l1.5-.3c.4,1.3,.7,2.7,.9,4l-1.4,.3Z"/><path class="j" d="M77.8,23.9c-.5-.1-1-.3-1.4-.5v6.1h-11.6v-6c-.1,0-.3,.1-.5,.2-.4,.2-.8,.3-1.1,.4,0-.2-.2-.6-.4-1.1,0-.2-.2-.4-.2-.5,2.4-.7,4.4-1.6,6-2.7h-5.6v-1.4h6.6v-1.5h1.7v1.5h6.6v1.4h-5.6c1.6,1.1,3.6,2,6,2.6l-.7,1.6Zm-15.1,8.1v-1.3h15.6v1.3h-15.6Zm7-9.5v-2c-1.3,1.1-2.6,1.9-3.9,2.5h9.7c-1.6-.7-3-1.6-4-2.6v2h-1.7Zm-3.2,1.8v1.3h8.1v-1.3h-8.1Zm0,2.4v1.3h8.1v-1.3h-8.1Z"/></g></g></g></g></svg> <?xml version="1.0" encoding="UTF-8"?>
<svg id="b" xmlns="http://www.w3.org/2000/svg" width="46" height="124.7"
xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 46 124.7">
<defs>
<linearGradient id="g" x1="20.8" y1="75.6" x2="25.6" y2="75.6"
gradientTransform="translate(0 126) scale(1 -1)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#989898" />
<stop offset="0" stop-color="#a3a3a3" />
<stop offset="0" stop-color="#c4c5c5" />
<stop offset=".2" stop-color="#d8d9d9" />
<stop offset=".3" stop-color="#e0e1e1" />
<stop offset=".4" stop-color="#dbdcdc" />
<stop offset=".5" stop-color="#cccece" />
<stop offset=".6" stop-color="#b5b6b7" />
<stop offset=".7" stop-color="#949697" />
<stop offset=".8" stop-color="#6a6c6f" />
<stop offset=".8" stop-color="#3f4246" />
<stop offset="1" stop-color="#404247" />
<stop offset="1" stop-color="#43434a" />
</linearGradient>
<linearGradient id="h" x1=".8" y1="102.2" x2="45.3" y2="102.2"
gradientTransform="translate(0 126) scale(1 -1)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#afbacb" />
<stop offset="0" stop-color="#c1ccda" />
<stop offset=".4" stop-color="#d9e6f0" />
<stop offset=".5" stop-color="#e3f0f8" />
<stop offset=".6" stop-color="#dde9f2" />
<stop offset=".8" stop-color="#ccd8e4" />
<stop offset="1" stop-color="#b1bbcc" />
<stop offset="1" stop-color="#aeb8c9" />
</linearGradient>
</defs>
<g id="c">
<g id="d">
<rect width="46" height="124.7" style="fill:rgba(83,90,96,0); stroke-width:0px;" />
<ellipse id="e" cx="23.1" cy="61.8" rx="14.4" ry="3.7"
style="fill:#262d34; isolation:isolate; opacity:.2; stroke-width:0px;" />
<ellipse id="f" cx="23.1" cy="61.8" rx="7.5" ry="3"
style="fill:#535a60; stroke-width:0px;" />
<path
d="m23.1,38.3h0c1.4,0,2.6,1.2,2.6,2.6v19.2c0,1.4-1.1,2.5-2.5,2.5h-.3c-1.4,0-2.5-1.1-2.5-2.5v-19.3c0-1.4,1.2-2.6,2.6-2.6h.1Z"
style="fill:url(#g); stroke-width:0px;" />
<rect x=".8" y=".5" width="44.5" height="46.6" rx="14.4" ry="14.4"
style="fill:url(#h); stroke:#8b9fae; stroke-miterlimit:10;" />
<rect x="1.3" y="2.6" width="43.5" height="44" rx="14.1" ry="14.1"
style="fill:#1566e8; stroke-width:0px;" />
<path id="i"
d="m6.7,11.4c-.3,0-.6-.2-.7-.4s0-.6,0-.8c1.3-1.6,3-2.9,4.8-3.9.2,0,.4,0,.6,0,.2,0,.4.2.5.4.2.4,0,.9-.3,1.1-1.7.9-3.1,2.1-4.3,3.5-.2.2-.4.3-.6.3h0v-.2Zm-1.8,2.6c0,0-.3,0-.4-.1-.2-.1-.3-.3-.4-.5,0-.2,0-.4,0-.6l.3-.4c0-.2.3-.3.5-.4h.6c.2.1.3.3.4.5s0,.4,0,.6l-.3.4c0,.2-.4.4-.7.4h0Z"
style="fill:#fff; stroke-width:0px;" />
<path
d="m21.7,23.3c-.3-.1-.7-.4-1.2-.7,0,0-.2,0-.2-.1v1.5h-7.1v-1.4c-.2.2-.5.4-.9.7,0,0-.2.2-.3.2-.3-.5-.5-1.1-.9-1.6.2,0,.4-.2.6-.3h-1.6v1.8c.7.5,1.4,1.1,2.1,1.7l-.9,1.4-1.2-1.2v7.3h-1.6v-7.6c-.4,1.3-1,2.5-1.8,3.8,0-.6-.2-1.4-.4-2.3.9-1.5,1.6-3.2,2.2-4.9h-1.8v-1.5h1.8v-3.2h1.6v3.2h1.6v1.5c1.9-1.2,3.4-2.8,4.4-4.9h1.8c0,.1-.3.9-.3.9,1.4,1.8,3,3.2,4.8,4.1-.3.5-.5,1.1-.7,1.6Zm-10.3,8.5v-1.4h6.6c.4-1,.8-2.4,1.4-4.4,0-.5.2-.9.3-1.1l1.6.4c0,.4-.3,1-.6,1.7-.5,1.5-.9,2.6-1.2,3.4h2.4v1.4h-10.6.1Zm2-2c-.4-1.4-.8-2.9-1.2-4.3l1.4-.3c.5,1.3.9,2.7,1.3,4.2,0,0-1.5.4-1.5.4Zm3.3-10.8c-.9,1.3-2,2.5-3.3,3.5h6.9c-1.5-1.1-2.7-2.3-3.5-3.5h-.1Zm-.3,10.1c-.2-1.1-.5-2.5-1-4l1.5-.3c.4,1.3.7,2.7.9,4l-1.4.3Z"
style="fill:#fff; stroke-width:0px;" />
<path
d="m38.5,23.9c-.5-.1-1-.3-1.4-.5v6.1h-11.6v-6c0,0-.3.1-.5.2-.4.2-.8.3-1.1.4,0-.2-.2-.6-.4-1.1,0-.2-.2-.4-.2-.5,2.4-.7,4.4-1.6,6-2.7h-5.6v-1.4h6.6v-1.5h1.7v1.5h6.6v1.4h-5.6c1.6,1.1,3.6,2,6,2.6l-.7,1.6h.2Zm-15.1,8.1v-1.3h15.6v1.3h-15.6Zm7-9.5v-2c-1.3,1.1-2.6,1.9-3.9,2.5h9.7c-1.6-.7-3-1.6-4-2.6v2h-1.8Zm-3.2,1.8v1.3h8.1v-1.3h-8.1Zm0,2.4v1.3h8.1v-1.3h-8.1Z"
style="fill:#fff; stroke-width:0px;" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

Before

Width:  |  Height:  |  Size: 2.9 MiB

After

Width:  |  Height:  |  Size: 2.9 MiB

View File

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="b" xmlns="http://www.w3.org/2000/svg" width="54.8" height="38.7"
xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 54.8 38.7">
<defs>
<linearGradient id="d" x1="27.4" y1="36" x2="27.4" y2="18.9" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#f5a823" />
<stop offset=".3" stop-color="#f5c003" />
<stop offset=".5" stop-color="#f6d11b" />
<stop offset=".7" stop-color="#f8e93e" />
<stop offset=".9" stop-color="#f9f956" />
<stop offset="1" stop-color="#faff5f" />
</linearGradient>
<linearGradient id="e" x1="27.4" y1="34.4" x2="27.4" y2="19.6"
gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#ff7e00" />
<stop offset=".3" stop-color="#fe8000" />
<stop offset=".5" stop-color="#fd8900" />
<stop offset=".6" stop-color="#fa9901" />
<stop offset=".8" stop-color="#f7ae02" />
<stop offset=".9" stop-color="#f5c003" />
<stop offset=".9" stop-color="#f6d11b" />
<stop offset="1" stop-color="#f8e93e" />
<stop offset="1" stop-color="#f9f956" />
<stop offset="1" stop-color="#faff5f" />
</linearGradient>
<linearGradient id="f" x1=".7" y1="18.4" x2="14.3" y2="18.4" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#ff9f0f" />
<stop offset=".2" stop-color="#edb80f" />
<stop offset=".5" stop-color="#f6d11b" />
<stop offset=".7" stop-color="#f8e93e" />
<stop offset=".9" stop-color="#f9f956" />
<stop offset="1" stop-color="#faff5f" />
</linearGradient>
<linearGradient id="g" x1="407.6" y1="34.3" x2="421.2" y2="34.3"
gradientTransform="translate(461.6 -15.9) rotate(-180) scale(1 -1)" xlink:href="#f" />
</defs>
<g id="c">
<rect x="40.9" y="1" width="13.9" height="37.3" rx="1" ry="1"
style="fill:#684214; stroke-width:0px;" />
<rect y="35.2" width="54.4" height="3.5" rx="1" ry="1"
style="fill:#684214; stroke-width:0px;" />
<rect width="54.4" height="36.9" rx="1" ry="1" style="fill:#e8b30a; stroke-width:0px;" />
<rect x=".4" y=".9" width="54" height="36" rx="1" ry="1"
style="fill:#fcd90b; stroke-width:0px;" />
<path
d="m42.8,18.9H12.3c-.5,0-.9.2-1.1.6L1,33.8c-.7.9,0,2.2,1.1,2.2h50.4c1.1,0,1.8-1.3,1.2-2.2l-9.8-14.2c-.3-.4-.7-.6-1.2-.6Z"
style="fill:url(#d); stroke-width:0px;" />
<rect x="13.2" y="5.4" width="28.2" height="14.4" style="fill:#fffdab; stroke-width:0px;" />
<path
d="m40.3,19.6H14.8c-.5,0-.9.2-1.2.6l-8.3,12c-.6.9,0,2.2,1.2,2.2h41.9c1.1,0,1.8-1.3,1.2-2.2l-8.1-12c-.3-.4-.7-.6-1.2-.6Z"
style="fill:url(#e); stroke-width:0px;" />
<path d="m14.3,17V5.4L.8,1.9v33c-.1,0,12.9-16.3,12.9-16.3.4-.4.6-1,.6-1.6Z"
style="fill:url(#f); stroke-width:0px;" />
<path d="m40.4,17V5.4s13.5-3.4,13.5-3.4v33c.1,0-12.9-16.3-12.9-16.3-.4-.4-.6-1-.6-1.6Z"
style="fill:url(#g); stroke-width:0px;" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 683 KiB

After

Width:  |  Height:  |  Size: 777 KiB

View File

@ -1 +1,9 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1689041545166" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="30665" width="16" height="16" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M512.005117 958.708971C265.683035 958.708971 65.290005 758.316965 65.290005 511.99386c0-246.310825 200.39303-446.703855 446.715111-446.703855 246.310825 0 446.703855 200.39303 446.703855 446.703855C958.708971 758.316965 758.316965 958.708971 512.005117 958.708971zM512.005117 169.716356c-188.738595 0-342.289784 153.545048-342.289784 342.277504 0 188.738595 153.551188 342.289784 342.289784 342.289784 188.733479 0 342.278527-153.551188 342.278527-342.289784C854.283644 323.261405 700.738595 169.716356 512.005117 169.716356z" p-id="30666" fill="#fcba5a"></path></svg> <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg t="1689041545166" class="icon" viewBox="0 0 1024 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="30665" width="16" height="16"
xmlns:xlink="http://www.w3.org/1999/xlink">
<path
d="M512.005117 958.708971C265.683035 958.708971 65.290005 758.316965 65.290005 511.99386c0-246.310825 200.39303-446.703855 446.715111-446.703855 246.310825 0 446.703855 200.39303 446.703855 446.703855C958.708971 758.316965 758.316965 958.708971 512.005117 958.708971zM512.005117 169.716356c-188.738595 0-342.289784 153.545048-342.289784 342.277504 0 188.738595 153.551188 342.289784 342.289784 342.289784 188.733479 0 342.278527-153.551188 342.278527-342.289784C854.283644 323.261405 700.738595 169.716356 512.005117 169.716356z"
p-id="30666" fill="#fcba5a"></path>
</svg>

Before

Width:  |  Height:  |  Size: 900 B

After

Width:  |  Height:  |  Size: 935 B

View File

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="b" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
<defs>
<style>.e{fill:#fcba5a;}</style>
</defs>
<g id="c">
<path id="d" class="e"
d="M31.9,0l-14.3,23.2-1.6,2.6-1.6-2.6L0,0h0V6.1L14.1,28.9l1.9,3.1h0s1.9-3.1,1.9-3.1L32,6V0h0Z" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 365 B

View File

@ -1,8 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
<defs>
<style>.a{fill:#fcba5a;}</style>
</defs>
<path class="a"
d="M31.94,0,17.6,23.21l-1.62,2.622L14.4,23.274.021,0H0V6.084L14.09,28.891l1.869,3.094.024.015,1.888-3.109L32,6.021V0Z"
transform="translate(0 0)" />
</svg>

Before

Width:  |  Height:  |  Size: 339 B

View File

@ -1 +1,18 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1695778478511" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11568" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><path d="M773.504 615.189333S771.157333 597.333333 746.688 597.333333h-79.338667c17.024 56.981333 31.936 109.546667 31.936 112.618667 0 50.922667-72.554667 72.384-190.229333 72.384-117.653333 0-184.554667-20.053333-184.554667-70.954667 0-3.562667 21.290667-57.429333 38.208-114.048h-86.677333c-17.194667 0-19.989333 15.978667-19.989333 15.978667L174.058667 874.368 188.053333 896h653.909334l8.021333-21.632-76.48-259.178667z" fill="#e54031" p-id="11569" data-spm-anchor-id="a313x.search_index.0.i15.29a03a81xPIsNv" class="selected"></path><path d="M512.021333 128c-21.952 0-39.765333 3.818667-39.765333 8.490667-10.496 31.637333-173.269333 557.717333-173.269333 571.178666 0 50.944 95.381333 81.642667 213.013333 81.642667s213.034667-30.698667 213.034667-81.642667c0-11.712-162.432-539.050667-173.269334-571.178666 0.021333-4.672-17.770667-8.490667-39.744-8.490667z" fill="#ffffff" p-id="11570" data-spm-anchor-id="a313x.search_index.0.i13.29a03a81xPIsNv" class=""></path><path d="M708.181333 649.536C683.349333 687.616 604.608 725.333333 512.981333 725.333333c-92.586667 0-173.994667-36.181333-197.994666-74.88-10.645333 31.637333-19.029333 56.469333-19.029334 69.973334 0 50.901333 96.704 90.218667 216.064 90.218666s216.128-39.338667 216.128-90.218666c0-11.690667-8.938667-38.72-19.968-70.890667zM669.589333 518.698667l-44.245333-144.938667s-39.616 31.552-113.301333 31.552c-73.664 0-113.408-31.552-113.408-31.552l-44.394667 145.194667S398.357333 576 512.042667 576c114.624 0 157.546667-57.301333 157.546666-57.301333zM581.141333 230.592l-29.354666-94.08s-1.770667-8.490667-39.765334-8.490667c-39.338667 0-39.765333 8.490667-39.765333 8.490667l-29.354667 94.016S461.781333 256 512 256c50.24 0 69.141333-25.408 69.141333-25.408z" fill="#e54031" p-id="11571" data-spm-anchor-id="a313x.search_index.0.i12.29a03a81xPIsNv" class="selected"></path></svg> <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg t="1695778478511" class="icon" viewBox="0 0 1024 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="11568" xmlns:xlink="http://www.w3.org/1999/xlink"
width="64" height="64">
<path
d="M773.504 615.189333S771.157333 597.333333 746.688 597.333333h-79.338667c17.024 56.981333 31.936 109.546667 31.936 112.618667 0 50.922667-72.554667 72.384-190.229333 72.384-117.653333 0-184.554667-20.053333-184.554667-70.954667 0-3.562667 21.290667-57.429333 38.208-114.048h-86.677333c-17.194667 0-19.989333 15.978667-19.989333 15.978667L174.058667 874.368 188.053333 896h653.909334l8.021333-21.632-76.48-259.178667z"
fill="#e54031" p-id="11569" data-spm-anchor-id="a313x.search_index.0.i15.29a03a81xPIsNv"
class="selected"></path>
<path
d="M512.021333 128c-21.952 0-39.765333 3.818667-39.765333 8.490667-10.496 31.637333-173.269333 557.717333-173.269333 571.178666 0 50.944 95.381333 81.642667 213.013333 81.642667s213.034667-30.698667 213.034667-81.642667c0-11.712-162.432-539.050667-173.269334-571.178666 0.021333-4.672-17.770667-8.490667-39.744-8.490667z"
fill="#ffffff" p-id="11570" data-spm-anchor-id="a313x.search_index.0.i13.29a03a81xPIsNv"
class=""></path>
<path
d="M708.181333 649.536C683.349333 687.616 604.608 725.333333 512.981333 725.333333c-92.586667 0-173.994667-36.181333-197.994666-74.88-10.645333 31.637333-19.029333 56.469333-19.029334 69.973334 0 50.901333 96.704 90.218667 216.064 90.218666s216.128-39.338667 216.128-90.218666c0-11.690667-8.938667-38.72-19.968-70.890667zM669.589333 518.698667l-44.245333-144.938667s-39.616 31.552-113.301333 31.552c-73.664 0-113.408-31.552-113.408-31.552l-44.394667 145.194667S398.357333 576 512.042667 576c114.624 0 157.546667-57.301333 157.546666-57.301333zM581.141333 230.592l-29.354666-94.08s-1.770667-8.490667-39.765334-8.490667c-39.338667 0-39.765333 8.490667-39.765333 8.490667l-29.354667 94.016S461.781333 256 512 256c50.24 0 69.141333-25.408 69.141333-25.408z"
fill="#e54031" p-id="11571" data-spm-anchor-id="a313x.search_index.0.i12.29a03a81xPIsNv"
class="selected"></path>
</svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -1,43 +1,33 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="136" <?xml version="1.0" encoding="UTF-8"?>
height="136" viewBox="0 0 136 136"> <svg id="b" xmlns="http://www.w3.org/2000/svg" width="70" height="94"
xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 70 94">
<defs> <defs>
<style> <style>
.a,.f{fill:#fff;}.a{opacity:0;}.b{fill:#ff5f4c;opacity:0.304;}.c{fill:#a74d4b;opacity:0.708;}.d{fill:url(#a);}.e{fill:url(#b);}.f{stroke:#db4646;stroke-width:3px;}.g{stroke:none;}.h{fill:none;} .h{stroke:#db4646;stroke-width:2.1px;}.h,.i{fill:none;}.j{fill:#a74d4b;opacity:.7;}.j,.i,.k,.l,.m,.n{stroke-width:0px;}.j,.k{isolation:isolate;}.i{opacity:0;}.k{fill:#ff5f4c;opacity:.3;}.l{fill:#fff;}.m{fill:url(#f);}.n{fill:url(#g);}
</style> </style>
<radialGradient id="a" cx="0.21" cy="0.134" r="1.274" <radialGradient id="f" cx="263.2" cy="286.8" fx="263.2" fy="286.8" r=".9"
gradientTransform="matrix(0.849, 0.529, -0.307, 0.493, 0.073, -0.043)" gradientTransform="translate(-9405.4 -24647.8) rotate(38.2) scale(75.3 47.3) skewX(7.6)"
gradientUnits="objectBoundingBox"> gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#ff9287" /> <stop offset="0" stop-color="#ff9287" />
<stop offset="0.786" stop-color="#ff5f4c" /> <stop offset=".8" stop-color="#ff5f4c" />
<stop offset="1" stop-color="#ff5f4c" /> <stop offset="1" stop-color="#ff5f4c" />
</radialGradient> </radialGradient>
<radialGradient id="b" cx="0.5" cy="0.5" r="0.5" gradientUnits="objectBoundingBox"> <radialGradient id="g" cx="259.6" cy="284" fx="259.6" fy="284" r=".4"
gradientTransform="translate(-14219.7 -15164.5) scale(54.9 53.6)"
gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#e75545" /> <stop offset="0" stop-color="#e75545" />
<stop offset="0.793" stop-color="#c4483b" /> <stop offset=".8" stop-color="#c4483b" />
<stop offset="1" stop-color="#983b31" /> <stop offset="1" stop-color="#983b31" />
</radialGradient> </radialGradient>
</defs> </defs>
<g transform="translate(-956 -396)"> <g id="c">
<rect class="a" width="136" height="136" transform="translate(956 396)" /> <rect class="i" width="70" height="94" />
<g transform="translate(989.164 429.346)"> <ellipse id="d" class="k" cx="35.8" cy="84.1" rx="14.4" ry="3.7" />
<g transform="translate(10.653 81.66)"> <ellipse id="e" class="j" cx="35.8" cy="84.1" rx="7.5" ry="3" />
<ellipse class="b" cx="24.183" cy="8.497" rx="24.183" ry="8.497" /> <path class="m"
<ellipse class="c" cx="8.497" cy="3.268" rx="8.497" ry="3.268" d="m26.8,71.1l-1.1-1.1c-9.6-4.2-15.6-13.5-15.4-23.6,0-14.1,11.2-25.5,25-25.5s25,11.4,25,25.5-6.5,19.8-15.6,23.6c-.3.3-.6.6-.9,1-3.4,3.9-6.2,8.3-8.3,13,0,0-3.6-7.9-8.9-13h.1Z" />
transform="translate(15.687 5.229)" /> <ellipse class="n" cx="35.1" cy="45.5" rx="19.8" ry="19.3" />
</g> <ellipse class="l" cx="35.3" cy="45.3" rx="20.1" ry="19.6" />
<g transform="translate(0 0)"> <ellipse class="h" cx="35.3" cy="45.3" rx="19" ry="18.6" />
<path class="d"
d="M22.956,71.538q-.792-.8-1.543-1.533A36.466,36.466,0,0,1,0,36.4C0,16.3,15.6,0,34.837,0S69.673,16.3,69.673,36.4c0,15.235-8.954,28.283-21.664,33.711q-.588.673-1.219,1.424A73.582,73.582,0,0,0,35.337,90.157S30.335,78.981,22.956,71.538Z"
transform="translate(0 0)" />
<circle class="e" cx="27.451" cy="27.451" r="27.451"
transform="translate(7.029 7.568)" />
</g>
</g>
<g transform="translate(10174 7640)">
<g class="f" transform="translate(-9178 -7204)">
<circle class="g" cx="28" cy="28" r="28" />
<circle class="h" cx="28" cy="28" r="26.5" />
</g>
</g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -1 +1,38 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="136" height="136" viewBox="0 0 136 136"><defs><style>.a,.h,.j{fill:none;}.a{opacity:0;}.b{fill:#4d4d4d;opacity:0.304;}.c{fill:#363333;opacity:0.708;}.d{fill:url(#a);}.e{fill:url(#b);}.f,.g{fill:#fff;stroke-width:3px;}.f{stroke:#db4646;}.g,.h{stroke:#2f2f2f;}.h{stroke-linecap:round;stroke-width:2px;}.i{stroke:none;}</style><radialGradient id="a" cx="0.21" cy="0.134" r="1.274" gradientTransform="matrix(0.849, 0.529, -0.307, 0.493, 0.073, -0.043)" gradientUnits="objectBoundingBox"><stop offset="0" stop-color="#b5b4b4"/><stop offset="0.697" stop-color="#6e6c6c"/><stop offset="1" stop-color="#2f2f2f"/></radialGradient><radialGradient id="b" cx="0.5" cy="0.5" r="0.5" gradientUnits="objectBoundingBox"><stop offset="0" stop-color="#e75545"/><stop offset="0.793" stop-color="#c4483b"/><stop offset="1" stop-color="#983b31"/></radialGradient></defs><g transform="translate(-832 -256)"><g transform="translate(-124 -140)"><rect class="a" width="136" height="136" transform="translate(956 396)"/><g transform="translate(989.164 429.346)"><g transform="translate(10.653 81.66)"><ellipse class="b" cx="24.183" cy="8.497" rx="24.183" ry="8.497"/><ellipse class="c" cx="8.497" cy="3.268" rx="8.497" ry="3.268" transform="translate(15.687 5.229)"/></g><g transform="translate(0 0)"><path class="d" d="M22.956,71.538q-.792-.8-1.543-1.533A36.466,36.466,0,0,1,0,36.4C0,16.3,15.6,0,34.837,0S69.673,16.3,69.673,36.4c0,15.235-8.954,28.283-21.664,33.711q-.588.673-1.219,1.424A73.582,73.582,0,0,0,35.337,90.157S30.335,78.981,22.956,71.538Z" transform="translate(0 0)"/><circle class="e" cx="27.451" cy="27.451" r="27.451" transform="translate(7.029 7.568)"/></g></g><g transform="translate(10174 7640)"><g class="f" transform="translate(-9178 -7204)"><circle class="i" cx="28" cy="28" r="28"/><circle class="j" cx="28" cy="28" r="26.5"/></g></g><g transform="translate(573 -37)"><g transform="translate(423 473)"><g class="g"><circle class="i" cx="28" cy="28" r="28"/><circle class="j" cx="28" cy="28" r="26.5"/></g></g><g transform="translate(427.138 478.332)"><line class="h" y1="34.047" x2="33.845" transform="translate(0 0)"/><line class="h" y1="36.376" x2="36.552" transform="translate(4.81 4.168)"/><path class="h" d="M0,35.11,18.688,16.458,35.178,0" transform="translate(11.84 11.226)"/></g></g></g></g></svg> <?xml version="1.0" encoding="UTF-8"?>
<svg id="b" xmlns="http://www.w3.org/2000/svg" width="70" height="94"
xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 70 94">
<defs>
<style>
.h{stroke:#db4646;}.h,.i{stroke-width:2.1px;}.h,.i,.j,.k{fill:none;}.i,.k{stroke:#2f2f2f;}.l{fill:#363333;opacity:.7;}.l,.m{isolation:isolate;}.l,.m,.j,.n,.o,.p{stroke-width:0px;}.m{fill:#262d34;opacity:.2;}.j{opacity:0;}.k{stroke-linecap:round;stroke-width:1.4px;}.n{fill:#fff;}.o{fill:url(#f);}.p{fill:url(#g);}
</style>
<radialGradient id="f" cx="-356.5" cy="276.3" fx="-356.5" fy="276.3" r="1.3"
gradientTransform="translate(19417.3 3353.6) rotate(38.1) scale(54 33.9) skewX(7.5)"
gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#b5b4b4" />
<stop offset=".7" stop-color="#6e6c6c" />
<stop offset="1" stop-color="#2f2f2f" />
</radialGradient>
<radialGradient id="g" cx="-355.3" cy="282.7" fx="-355.3" fy="282.7" r=".5"
gradientTransform="translate(14044.3 -10803.9) scale(39.4 38.4)"
gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#e75545" />
<stop offset=".8" stop-color="#c4483b" />
<stop offset="1" stop-color="#983b31" />
</radialGradient>
</defs>
<g id="c">
<rect class="j" width="70" height="94" />
<ellipse id="d" class="m" cx="35" cy="83.3" rx="14.4" ry="3.7" />
<ellipse id="e" class="l" cx="35" cy="83.3" rx="7.5" ry="3" />
<path class="o"
d="m26.5,71l-1.1-1c-9.6-4.2-15.6-13.4-15.4-23.6,0-14.1,11.2-25.5,25-25.5s25,11.4,25,25.5-6.5,19.8-15.6,23.6c-.3.3-.6.6-.9,1-3.4,3.9-6.2,8.3-8.3,13,0,0-3.6-7.8-8.9-13h.1Z" />
<ellipse class="p" cx="34.8" cy="45.4" rx="19.8" ry="19.2" />
<ellipse class="n" cx="35" cy="45.2" rx="20.1" ry="19.6" />
<ellipse class="h" cx="35" cy="45.2" rx="19" ry="18.5" />
<ellipse class="n" cx="35" cy="45.2" rx="20.1" ry="19.6" />
<ellipse class="i" cx="35" cy="45.2" rx="19" ry="18.5" />
<line class="k" x1="17.9" y1="53.1" x2="42.2" y2="29.3" />
<line class="k" x1="21.4" y1="57.7" x2="47.6" y2="32.2" />
<path class="k" d="m26.4,61.7l13.4-13.1,11.9-11.5" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -1,45 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="136" <?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="70" height="94" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 70 94"><defs><style>.h{fill:#a74d4b;opacity:.7;}.h,.i,.j,.k,.l,.m,.n{stroke-width:0px;}.h,.j{isolation:isolate;}.i{opacity:0;}.i,.o{fill:none;}.j{fill:#ff5f4c;opacity:.3;}.o{stroke:#db4646;stroke-dasharray:0 0 0 0 0 0 6.4 7.1;stroke-linecap:square;stroke-width:2.1px;}.k{fill:#2a23f5;}.l{fill:#fff;}.m{fill:url(#f);}.n{fill:url(#g);}</style><radialGradient id="f" cx="131.4" cy="284.8" fx="131.4" fy="284.8" r="1.3" gradientTransform="translate(-1182.6 -13193.2) rotate(38.1) scale(54 33.9) skewX(7.5)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ff9287"/><stop offset=".8" stop-color="#ff5f4c"/><stop offset="1" stop-color="#ff5f4c"/></radialGradient><radialGradient id="g" cx="128.9" cy="283.6" fx="128.9" fy="283.6" r=".5" gradientTransform="translate(-5048.6 -10839.4) scale(39.4 38.4)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e75545"/><stop offset=".8" stop-color="#c4483b"/><stop offset="1" stop-color="#983b31"/></radialGradient></defs><g id="c"><ellipse id="d" class="j" cx="35.5" cy="84.1" rx="14.4" ry="3.7"/><ellipse id="e" class="h" cx="35.5" cy="84.1" rx="7.5" ry="3"/><path class="m" d="m26.7,71.1l-1.1-1c-9.6-4.2-15.6-13.4-15.4-23.6,0-14.1,11.2-25.5,25-25.5s25,11.4,25,25.5-6.5,19.8-15.6,23.6c-.3.3-.6.6-.9,1-3.4,3.9-6.2,8.3-8.3,13,0,0-3.6-7.8-8.9-13h.1Z"/><ellipse class="n" cx="35" cy="45.6" rx="19.8" ry="19.2"/><ellipse class="l" cx="35.2" cy="45.3" rx="20.1" ry="19.6"/><ellipse class="k" cx="35.2" cy="45.3" rx="17.2" ry="16.8"/><ellipse class="o" cx="35.2" cy="45.3" rx="18.3" ry="17.8"/><rect class="i" width="70" height="94"/></g></svg>
height="136" viewBox="0 0 136 136">
<defs>
<style>
.a,.f{fill:#fff;}.a{opacity:0;}.b{fill:#ff5f4c;opacity:0.304;}.c{fill:#a74d4b;opacity:0.708;}.d{fill:url(#a);}.e{fill:url(#b);}.g{fill:#2a23f5;stroke:#db4646;stroke-linecap:square;stroke-width:3px;stroke-dasharray:9
10;}.h{stroke:none;}.i{fill:none;}
</style>
<radialGradient id="a" cx="0.21" cy="0.134" r="1.274"
gradientTransform="matrix(0.849, 0.529, -0.307, 0.493, 0.073, -0.043)"
gradientUnits="objectBoundingBox">
<stop offset="0" stop-color="#ff9287" />
<stop offset="0.786" stop-color="#ff5f4c" />
<stop offset="1" stop-color="#ff5f4c" />
</radialGradient>
<radialGradient id="b" cx="0.5" cy="0.5" r="0.5" gradientUnits="objectBoundingBox">
<stop offset="0" stop-color="#e75545" />
<stop offset="0.793" stop-color="#c4483b" />
<stop offset="1" stop-color="#983b31" />
</radialGradient>
</defs>
<g transform="translate(-956 -396)">
<rect class="a" width="136" height="136" transform="translate(956 396)" />
<g transform="translate(989.164 429.346)">
<g transform="translate(10.653 81.66)">
<ellipse class="b" cx="24.183" cy="8.497" rx="24.183" ry="8.497" />
<ellipse class="c" cx="8.497" cy="3.268" rx="8.497" ry="3.268"
transform="translate(15.687 5.229)" />
</g>
<g transform="translate(0 0)">
<path class="d"
d="M22.956,71.538q-.792-.8-1.543-1.533A36.466,36.466,0,0,1,0,36.4C0,16.3,15.6,0,34.837,0S69.673,16.3,69.673,36.4c0,15.235-8.954,28.283-21.664,33.711q-.588.673-1.219,1.424A73.582,73.582,0,0,0,35.337,90.157S30.335,78.981,22.956,71.538Z"
transform="translate(0 0)" />
<circle class="e" cx="27.451" cy="27.451" r="27.451"
transform="translate(7.029 7.568)" />
</g>
</g>
<g transform="translate(10096 7643)">
<circle class="f" cx="28" cy="28" r="28" transform="translate(-9100 -7207)" />
<g class="g" transform="translate(-9096 -7203)">
<circle class="h" cx="24" cy="24" r="24" />
<circle class="i" cx="24" cy="24" r="25.5" />
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -1 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="56.7" height="56.7" viewBox="0 0 56.7 56.7"><g id="c"><g><g><circle cx="28.3" cy="28.3" r="26.8" style="fill:#fff;"/><path d="M28.3,3c14,0,25.3,11.4,25.3,25.3s-11.4,25.3-25.3,25.3S3,42.3,3,28.3,14.4,3,28.3,3m0-3C12.7,0,0,12.7,0,28.3s12.7,28.3,28.3,28.3,28.3-12.7,28.3-28.3S44,0,28.3,0h0Z" style="fill:#510710;"/></g><circle cx="28.3" cy="28.3" r="26" style="fill:#db4646;"/><circle cx="28.3" cy="28.3" r="18.4" style="fill:#fff;"/><path d="M18.4,17.6h7.1v2.1c-.5,1.8-1.1,3.6-1.8,5.4,1.2,2,1.8,4,1.8,5.7,0,2.7-.7,3.3-3.2,3.7h-.6c0,0-.8-2.1-.8-2.1h.7c1.4-.3,1.8-.5,1.8-2s-.6-3-1.9-4.9c.7-2,1.3-3.8,1.8-5.8h-2.8v18.9h-2.2V17.6Zm21.1,18.9l-1.5,2.1c-4.3-2.4-6.6-4.9-8-9.8h-1.4v7.1l3.5-1.6,.3,2.4c-.6,.2-4.1,1.8-5.8,2.6l-1.1-2.2c.8-.3,.8-.5,.8-1.2V17.7h10.9v11h-5.1c.4,1.1,.8,2,1.3,2.9,1.2-.8,2.4-1.8,3.4-2.7l1.3,1.7c-1.1,1-2.4,1.9-3.5,2.7,1.2,1.3,2.7,2.2,4.7,3.1Zm-10.9-16.6v2.4h6.4v-2.4h-6.4Zm0,6.9h6.4v-2.3h-6.4v2.3Z"/></g></g></svg> <?xml version="1.0" encoding="UTF-8"?>
<svg id="b" xmlns="http://www.w3.org/2000/svg" width="56.7" height="56.7" viewBox="0 0 56.7 56.7">
<g id="c">
<g>
<g>
<circle cx="28.3" cy="28.3" r="26.8" style="fill:#fff;" />
<path
d="M28.3,3c14,0,25.3,11.4,25.3,25.3s-11.4,25.3-25.3,25.3S3,42.3,3,28.3,14.4,3,28.3,3m0-3C12.7,0,0,12.7,0,28.3s12.7,28.3,28.3,28.3,28.3-12.7,28.3-28.3S44,0,28.3,0h0Z"
style="fill:#510710;" />
</g>
<circle cx="28.3" cy="28.3" r="26" style="fill:#db4646;" />
<circle cx="28.3" cy="28.3" r="18.4" style="fill:#fff;" />
<path
d="M18.4,17.6h7.1v2.1c-.5,1.8-1.1,3.6-1.8,5.4,1.2,2,1.8,4,1.8,5.7,0,2.7-.7,3.3-3.2,3.7h-.6c0,0-.8-2.1-.8-2.1h.7c1.4-.3,1.8-.5,1.8-2s-.6-3-1.9-4.9c.7-2,1.3-3.8,1.8-5.8h-2.8v18.9h-2.2V17.6Zm21.1,18.9l-1.5,2.1c-4.3-2.4-6.6-4.9-8-9.8h-1.4v7.1l3.5-1.6,.3,2.4c-.6,.2-4.1,1.8-5.8,2.6l-1.1-2.2c.8-.3,.8-.5,.8-1.2V17.7h10.9v11h-5.1c.4,1.1,.8,2,1.3,2.9,1.2-.8,2.4-1.8,3.4-2.7l1.3,1.7c-1.1,1-2.4,1.9-3.5,2.7,1.2,1.3,2.7,2.2,4.7,3.1Zm-10.9-16.6v2.4h6.4v-2.4h-6.4Zm0,6.9h6.4v-2.3h-6.4v2.3Z" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1022 B

After

Width:  |  Height:  |  Size: 1.2 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -1,24 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<svg id="b" xmlns="http://www.w3.org/2000/svg" width="200mm" height="200mm" <svg id="b" xmlns="http://www.w3.org/2000/svg" width="103.4" height="566.9"
xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 566.9 566.9"> xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 103.4 566.9">
<defs> <defs>
<style> <linearGradient id="i" x1="45.3" y1="408.2" x2="58.8" y2="408.2"
.p{fill:url(#h);}.q{fill:url(#o);}.r{fill:url(#n);}.s{fill:url(#l);}.t{fill:rgba(77,77,77,0);}.u{fill:#fff;}.v{fill:#3d444c;}.w{fill:#272d35;isolation:isolate;opacity:.2;}.x{stroke:#d5b725;}.x,.y{fill:none;}.x,.y,.z,.aa,.ab{stroke-miterlimit:10;stroke-width:3.4px;}.y{stroke:#18873b;}.z{fill:url(#k);stroke:#d15f6a;}.aa{fill:url(#j);stroke:#161b20;}.ab{fill:url(#i);stroke:#8ba0ae;} gradientTransform="translate(0 -200)" gradientUnits="userSpaceOnUse">
</style> <stop offset="0" stop-color="#989898" />
<linearGradient id="h" x1="275.8" y1="248.3" x2="291.9" y2="248.3" <stop offset="0" stop-color="#a4a4a4" />
gradientUnits="userSpaceOnUse"> <stop offset="0" stop-color="#c5c5c5" />
<stop offset="0" stop-color="#999899" /> <stop offset=".2" stop-color="#d9dada" />
<stop offset=".2" stop-color="#7e7e80" /> <stop offset=".3" stop-color="#e0e1e1" />
<stop offset=".4" stop-color="#5b5d60" /> <stop offset=".4" stop-color="#dbdcdc" />
<stop offset=".6" stop-color="#46494d" /> <stop offset=".5" stop-color="#cdcecf" />
<stop offset=".6" stop-color="#b5b7b8" />
<stop offset=".7" stop-color="#949698" />
<stop offset=".8" stop-color="#6a6d6f" />
<stop offset=".8" stop-color="#3f4246" /> <stop offset=".8" stop-color="#3f4246" />
<stop offset="1" stop-color="#404247" /> <stop offset="1" stop-color="#414248" />
<stop offset="1" stop-color="#43434a" /> <stop offset="1" stop-color="#43434a" />
</linearGradient> </linearGradient>
<linearGradient id="i" x1="234.6" y1="126" x2="332.3" y2="126" <linearGradient id="j" x1="12.7" y1="263.9" x2="90.3" y2="263.9"
gradientUnits="userSpaceOnUse"> gradientTransform="translate(0 366) scale(1 -1)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#b1bbcb" /> <stop offset="0" stop-color="#b1bbcb" />
<stop offset=".1" stop-color="#c2cddb" /> <stop offset="0" stop-color="#c2cddb" />
<stop offset=".4" stop-color="#dbe7f0" /> <stop offset=".4" stop-color="#dbe7f0" />
<stop offset=".5" stop-color="#e4f1f9" /> <stop offset=".5" stop-color="#e4f1f9" />
<stop offset=".6" stop-color="#deeaf3" /> <stop offset=".6" stop-color="#deeaf3" />
@ -26,17 +29,17 @@
<stop offset="1" stop-color="#b1bccd" /> <stop offset="1" stop-color="#b1bccd" />
<stop offset="1" stop-color="#aeb9ca" /> <stop offset="1" stop-color="#aeb9ca" />
</linearGradient> </linearGradient>
<linearGradient id="j" x1="235.7" y1="129.8" x2="331.2" y2="129.8" <linearGradient id="k" x1="13.7" y1="260.9" x2="89.5" y2="260.9"
gradientUnits="userSpaceOnUse"> gradientTransform="translate(0 366) scale(1 -1)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#403c42" /> <stop offset="0" stop-color="#403c42" />
<stop offset=".1" stop-color="#3c4353" /> <stop offset="0" stop-color="#3c4353" />
<stop offset=".3" stop-color="#3a475d" /> <stop offset=".3" stop-color="#3a475d" />
<stop offset=".5" stop-color="#344256" /> <stop offset=".5" stop-color="#344256" />
<stop offset=".7" stop-color="#233445" /> <stop offset=".7" stop-color="#233445" />
<stop offset="1" stop-color="#0d212d" /> <stop offset="1" stop-color="#0d212d" />
</linearGradient> </linearGradient>
<radialGradient id="k" cx="269.6" cy="70.9" fx="269.6" fy="70.9" r="30.7" <radialGradient id="l" cx="36.8" cy="305.8" fx="36.8" fy="305.8" r="24.4"
gradientTransform="translate(18.3 1.3) scale(1 .9)" gradientUnits="userSpaceOnUse"> gradientTransform="translate(18.3 329) scale(1 -.9)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#ed7474" /> <stop offset="0" stop-color="#ed7474" />
<stop offset="0" stop-color="#ed7474" /> <stop offset="0" stop-color="#ed7474" />
<stop offset="0" stop-color="#ed7474" /> <stop offset="0" stop-color="#ed7474" />
@ -48,8 +51,8 @@
<stop offset=".8" stop-color="#e12e2a" /> <stop offset=".8" stop-color="#e12e2a" />
<stop offset="1" stop-color="#ce2320" /> <stop offset="1" stop-color="#ce2320" />
</radialGradient> </radialGradient>
<radialGradient id="l" cx="269.6" cy="70.9" fx="252.9" fy="61.2" r="29.1" <radialGradient id="m" cx="36.8" cy="305.8" fx="23.5" fy="298.1" r="23.1"
gradientTransform="translate(18.3 1.3) scale(1 .9)" gradientUnits="userSpaceOnUse"> gradientTransform="translate(18.3 329) scale(1 -.9)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#ed7474" /> <stop offset="0" stop-color="#ed7474" />
<stop offset="0" stop-color="#ed7474" /> <stop offset="0" stop-color="#ed7474" />
<stop offset="0" stop-color="#ed7474" /> <stop offset="0" stop-color="#ed7474" />
@ -59,8 +62,8 @@
<stop offset=".9" stop-color="#c62f2d" /> <stop offset=".9" stop-color="#c62f2d" />
<stop offset="1" stop-color="#a11715" /> <stop offset="1" stop-color="#a11715" />
</radialGradient> </radialGradient>
<radialGradient id="n" cx="269.6" cy="137.8" fx="253.4" fy="128.4" r="28.3" <radialGradient id="o" cx="36.8" cy="252.8" fx="24" fy="245.3" r="22.4"
gradientTransform="translate(18.3 1.3) scale(1 .9)" gradientUnits="userSpaceOnUse"> gradientTransform="translate(18.3 329) scale(1 -.9)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#ed7474" /> <stop offset="0" stop-color="#ed7474" />
<stop offset="0" stop-color="#ed7474" /> <stop offset="0" stop-color="#ed7474" />
<stop offset="0" stop-color="#ed7474" /> <stop offset="0" stop-color="#ed7474" />
@ -69,13 +72,13 @@
<stop offset="0" stop-color="#f6de46" /> <stop offset="0" stop-color="#f6de46" />
<stop offset="0" stop-color="#f7e757" /> <stop offset="0" stop-color="#f7e757" />
<stop offset="0" stop-color="#f8ec63" /> <stop offset="0" stop-color="#f8ec63" />
<stop offset=".1" stop-color="#f8f06a" /> <stop offset="0" stop-color="#f8f06a" />
<stop offset=".2" stop-color="#f9f16c" /> <stop offset=".2" stop-color="#f9f16c" />
<stop offset=".9" stop-color="#f8cf00" /> <stop offset=".9" stop-color="#f8cf00" />
<stop offset="1" stop-color="#ffe200" /> <stop offset="1" stop-color="#ffe200" />
</radialGradient> </radialGradient>
<radialGradient id="o" cx="283.5" cy="204.7" fx="267" fy="195.1" r="28.7" <radialGradient id="p" cx="51.6" cy="199.7" fx="38.5" fy="191.9" r="22.8"
gradientTransform="translate(0 1.3) scale(1 .9)" gradientUnits="userSpaceOnUse"> gradientTransform="translate(0 329) scale(1 -.9)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#ed7474" /> <stop offset="0" stop-color="#ed7474" />
<stop offset="0" stop-color="#ed7474" /> <stop offset="0" stop-color="#ed7474" />
<stop offset="0" stop-color="#ed7474" /> <stop offset="0" stop-color="#ed7474" />
@ -87,40 +90,44 @@
</radialGradient> </radialGradient>
</defs> </defs>
<g id="c"> <g id="c">
<g>
<g id="d"> <g id="d">
<rect id="e" class="t" width="566.9" height="566.9" /> <g id="e">
</g> <rect id="f" width="103.4" height="566.9" style="fill:none; stroke-width:0px;" />
<g>
<ellipse id="f" class="w" cx="283.5" cy="286.7" rx="48.6" ry="12.5" />
<ellipse id="g" class="v" cx="283.5" cy="286.7" rx="25.5" ry="10" />
<path class="p"
d="M277.2,207.1h12.5c1.4,0,2.6,1.2,2.6,2.6v77.2c0,1.4-1.1,2.5-2.5,2.5h-12.8c-1.4,0-2.5-1.1-2.5-2.5v-77.2c0-1.4,1.2-2.6,2.6-2.6Z" />
<rect class="ab" x="234.6" y="11.7" width="97.6" height="228.6" rx="48.8"
ry="48.8" />
<rect class="aa" x="235.7" y="21.9" width="95.5" height="215.8" rx="47.8"
ry="47.8" />
<g>
<path class="z"
d="M253.3,68.3c0,16,13.5,29,30.2,29s30.2-13,30.2-29-13.5-29-30.2-29-30.2,13-30.2,29Z" />
<path class="s"
d="M254.8,68.3c0,15.2,12.8,27.5,28.7,27.5s28.7-12.3,28.7-27.5-12.8-27.5-28.7-27.5-28.7,12.3-28.7,27.5Z" />
</g>
<path id="m" class="u"
d="M253,48.1c-1,0-2-.5-2.4-1.5s-.3-2,.4-2.7c4.4-5.2,9.8-9.7,15.9-13,.6-.3,1.4-.4,2.1-.2,.7,.2,1.2,.7,1.6,1.3,.7,1.3,.2,2.8-1.1,3.5-5.5,2.9-10.3,6.8-14.3,11.5-.5,.6-1.3,.9-2.1,.9v.2Zm-5.9,8.4c-.5,0-1-.1-1.4-.4-.6-.4-1-.9-1.2-1.6-.2-.7,0-1.4,.3-2l.9-1.4c.4-.6,1-1,1.7-1.2,.7-.2,1.4,0,2,.3,.6,.4,1.1,.9,1.2,1.6s0,1.4-.3,2l-.9,1.4c-.5,.8-1.3,1.3-2.3,1.3h0Z" />
<g>
<path class="x"
d="M254.2,131.5c0,15.5,13.1,28.1,29.3,28.1s29.3-12.6,29.3-28.1-13.1-28.1-29.3-28.1-29.3,12.6-29.3,28.1Z" />
<path class="r"
d="M255.6,131.5c0,14.8,12.5,26.7,27.8,26.7s27.8-12,27.8-26.7-12.5-26.7-27.8-26.7-27.8,12-27.8,26.7Z" />
</g>
<g>
<path class="y"
d="M253.3,194.7c0,15.7,13.5,28.5,30.2,28.5s30.2-12.8,30.2-28.5-13.5-28.5-30.2-28.5-30.2,12.8-30.2,28.5Z" />
<path class="q"
d="M254.8,194.7c0,15,12.8,27.1,28.7,27.1s28.7-12.1,28.7-27.1-12.8-27.1-28.7-27.1-28.7,12.1-28.7,27.1Z" />
</g>
</g> </g>
<ellipse id="g" cx="51.7" cy="283.2" rx="35.7" ry="9.2"
style="fill:#262d34; isolation:isolate; opacity:.2; stroke-width:0px;" />
<ellipse id="h" cx="51.7" cy="283.2" rx="18.6" ry="7.4"
style="fill:#535a60; stroke-width:0px;" />
<path
d="m52.9,285h-2.5c-3.5,0-6.2-2.7-6.2-6.2v-145.2c0-1.2,1-2.2,2.2-2.2h10.2c1.2,0,2.2,1,2.2,2.2v145.2c.2,3.5-2.5,6.2-5.9,6.2Z"
style="fill:url(#i); stroke-width:0px;" />
<path
d="m51.5,11.4h0c21.4,0,38.8,17.4,38.8,38.8v103.9c0,21.4-17.4,38.8-38.8,38.8h0c-21.4,0-38.8-17.4-38.8-38.8V50.1c0-21.4,17.3-38.8,38.8-38.8h0Z"
style="fill:url(#j); stroke:#8ba0ae; stroke-miterlimit:10; stroke-width:2.7px;" />
<path
d="m51.5,19.5h0c20.9,0,37.9,16.9,37.9,37.9v95.4c0,20.9-16.9,37.9-37.9,37.9h0c-20.9,0-37.9-16.9-37.9-37.9V57.4c0-20.9,16.9-37.9,37.9-37.9Z"
style="fill:url(#k); stroke:#161b20; stroke-miterlimit:10; stroke-width:2.7px;" />
<path
d="m27.7,56.2c0,12.7,10.7,23,23.9,23s23.9-10.3,23.9-23-10.7-23-23.9-23-23.9,10.3-23.9,23Z"
style="fill:url(#l); stroke:#d15f6a; stroke-miterlimit:10; stroke-width:2.7px;" />
<path
d="m28.9,56.2c0,12,10.2,21.8,22.8,21.8s22.8-9.8,22.8-21.8-10.2-21.8-22.8-21.8-22.8,9.8-22.8,21.8Z"
style="fill:url(#m); stroke-width:0px;" />
<path id="n"
d="m27.3,40.3c-.8,0-1.6-.4-1.9-1.2s-.2-1.6.4-2.1c3.5-4.1,7.8-7.7,12.6-10.3.5-.2,1.2-.4,1.6-.1.6.1.9.6,1.3,1.1.6,1.1.1,2.2-.8,2.8-4.3,2.3-8.2,5.4-11.3,9.1-.4.5-1.1.7-1.6.7h0c0,.1-.2,0-.2,0Zm-4.7,6.7c-.4,0-.8,0-1.2-.4-.5-.4-.8-.7-.9-1.3-.1-.6,0-1.2.2-1.6l.7-1.2c.4-.5.8-.8,1.4-.9s1.2,0,1.6.2c.5.4.8.7.9,1.3s0,1.2-.2,1.6l-.7,1.2c-.4.6-1.1,1.1-1.9,1.1h0Z"
style="fill:#fff; stroke-width:0px;" />
<path
d="m28.4,106.3c0,12.3,10.4,22.3,23.2,22.3s23.2-10,23.2-22.3-10.4-22.3-23.2-22.3-23.2,10-23.2,22.3Z"
style="fill:none; stroke:#d5b725; stroke-miterlimit:10; stroke-width:2.7px;" />
<path
d="m29.4,106.3c0,11.8,9.9,21.1,22.1,21.1s22.1-9.6,22.1-21.1-9.9-21.1-22.1-21.1-22.1,9.6-22.1,21.1h0Z"
style="fill:url(#o); stroke-width:0px;" />
<path
d="m27.7,156.6c0,12.5,10.7,22.7,23.9,22.7s23.9-10.2,23.9-22.7-10.7-22.7-23.9-22.7-23.9,10.2-23.9,22.7Z"
style="fill:none; stroke:#18873b; stroke-miterlimit:10; stroke-width:2.7px;" />
<path
d="m28.9,156.6c0,11.9,10.2,21.5,22.8,21.5s22.8-9.6,22.8-21.5-10.2-21.5-22.8-21.5-22.8,9.6-22.8,21.5Z"
style="fill:url(#p); stroke-width:0px;" />
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 B

View File

@ -1 +1,18 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="296" height="296" viewBox="0 0 296 296"><defs><style>.a{opacity:0;isolation:isolate;}.b{fill:#545e6c;opacity:0.999;}.c{fill:rgba(255,255,255,0.12);stroke:#f7ad5d;}.d{fill:rgba(255,255,255,0.11);stroke:rgba(255,255,255,0.67);opacity:0.459;}.e{stroke:rgba(0,0,0,0);stroke-miterlimit:10;fill:url(#a);}.f{stroke:none;}.g{fill:none;}</style><linearGradient id="a" x1="0.5" y1="0.267" x2="0.5" y2="0.712" gradientUnits="objectBoundingBox"><stop offset="0" stop-color="#ca4916"/><stop offset="1" stop-color="#f7ad5d"/></linearGradient></defs><g transform="translate(-243 -404)"><g transform="translate(1762 -801) rotate(90)"><g class="a" transform="translate(1205 1231)"><rect class="b" width="296" height="296" transform="translate(0 -8)"/></g><g transform="translate(1250 1231)"><g class="c" transform="translate(13 50)"><circle class="f" cx="90" cy="90" r="90"/><circle class="g" cx="90" cy="90" r="89.5"/></g><g class="d" transform="translate(35 72)"><circle class="f" cx="68" cy="68" r="68"/><circle class="g" cx="68" cy="68" r="67.5"/></g><path class="e" d="M18.942,57.189V36.331H6.056A6,6,0,0,1,.535,32.946a5.356,5.356,0,0,1,.753-5.814L21.849,2.2a6.269,6.269,0,0,1,9.537,0L51.947,27.132a5.356,5.356,0,0,1,.753,5.814,6,6,0,0,1-5.521,3.386H34.293V57.1c-2.29-.125-4.628-.189-6.947-.189-2.8,0-5.622.093-8.4.277Z" transform="translate(76.383 -6.188)"/></g></g></g></svg> <?xml version="1.0" encoding="UTF-8"?>
<svg id="b" xmlns="http://www.w3.org/2000/svg" width="70" height="136"
xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 70 136">
<defs>
<linearGradient id="d" x1="-2467.2" y1="99.9" x2="-2467.2" y2="98.6"
gradientTransform="translate(-1019.3 24840.3) rotate(90) scale(10 -10.8)"
gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#ca4916" />
<stop offset="1" stop-color="#f7ad5d" />
</linearGradient>
</defs>
<g id="c">
<rect width="70" height="136" style="opacity:0; stroke-width:0px;" />
<path
d="m34.1,66.1h22.4v-4.1c0-.7.4-1.3,1-1.6.6-.3,1.3-.2,1.7.2l7.4,5.8c.8.6.9,1.7.2,2.5,0,0-.1.1-.2.2l-7.4,5.8c-.5.4-1.2.5-1.7.2-.6-.3-1-.9-1-1.6v-4.2h-22.3c0-.6,0-.7,0-1.4s0-1.1,0-1.9h0Z"
style="fill:url(#d); stroke-width:0px;" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 915 B

View File

@ -1 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="124.7" height="124.7" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 124.7 124.7"><defs><style>.m{fill:url(#f);}.n,.o{fill:#535a60;}.p{fill:#262d34;isolation:isolate;opacity:.2;}.q{fill:url(#j);filter:url(#k);}.r{fill:url(#g);filter:url(#h);}.o{opacity:0;}</style><linearGradient id="f" x1="58.7" y1="31" x2="66.4" y2="31" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#989898"/><stop offset="0" stop-color="#a3a3a3"/><stop offset=".1" stop-color="#c4c5c5"/><stop offset=".2" stop-color="#d8d9d9"/><stop offset=".3" stop-color="#e0e1e1"/><stop offset=".4" stop-color="#dbdcdc"/><stop offset=".5" stop-color="#cccece"/><stop offset=".6" stop-color="#b5b6b7"/><stop offset=".7" stop-color="#949697"/><stop offset=".8" stop-color="#6a6c6f"/><stop offset=".8" stop-color="#3f4246"/><stop offset="1" stop-color="#404247"/><stop offset="1" stop-color="#43434a"/></linearGradient><linearGradient id="g" x1="776.5" y1="39.3" x2="788.4" y2="39.3" gradientTransform="translate(-720)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#11627b"/><stop offset=".1" stop-color="#0b788d"/><stop offset=".3" stop-color="#00a4b1"/><stop offset=".4" stop-color="#039aa9"/><stop offset=".5" stop-color="#068b9d"/><stop offset=".8" stop-color="#11627b"/></linearGradient><filter id="h" filterUnits="userSpaceOnUse"><feOffset dx="0" dy="1"/><feGaussianBlur result="i" stdDeviation=".3"/><feFlood flood-color="#000" flood-opacity=".2"/><feComposite in2="i" operator="in"/><feComposite in="SourceGraphic"/></filter><linearGradient id="j" x1="-396.1" y1="15.6" x2="-408" y2="15.6" gradientTransform="translate(-339.8) rotate(-180) scale(1 -1)" xlink:href="#g"/><filter id="k" filterUnits="userSpaceOnUse"><feOffset dx="0" dy="1"/><feGaussianBlur result="l" stdDeviation=".3"/><feFlood flood-color="#000" flood-opacity=".2"/><feComposite in2="l" operator="in"/><feComposite in="SourceGraphic"/></filter></defs><g id="c"><g><rect class="o" y="0" width="124.7" height="124.7"/><g><ellipse id="d" class="p" cx="62.4" cy="61.3" rx="14.4" ry="3.7"/><ellipse id="e" class="n" cx="62.4" cy="61.3" rx="7.5" ry="3"/><path class="m" d="M59.4,0h6C66.1,0,66.6,.6,66.6,1.3V58.7c0,1.9-1.5,3.4-3.4,3.4h-1.8c-1.9,0-3.4-1.5-3.4-3.4V1.3C58.1,.6,58.7,0,59.4,0Z"/></g><path class="r" d="M68.4,46.8s-1.1,.7-5.8,.7-6.2-.7-6.2-.7v-14.7s.7-1,6.2-1,5.8,1,5.8,1v14.7Z"/><path class="q" d="M56.3,23.2s1.1,.7,5.8,.7,6.2-.7,6.2-.7V8.4s-.7-1-6.2-1-5.8,1-5.8,1v14.7Z"/></g></g></svg> <?xml version="1.0" encoding="UTF-8"?>
<svg id="b" xmlns="http://www.w3.org/2000/svg" width="28.8" height="124.7"
xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 28.8 124.7">
<defs>
<linearGradient id="f" x1="10.7" y1="94.9" x2="18.4" y2="94.9"
gradientTransform="translate(0 126) scale(1 -1)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#989898" />
<stop offset="0" stop-color="#a3a3a3" />
<stop offset="0" stop-color="#c4c5c5" />
<stop offset=".2" stop-color="#d8d9d9" />
<stop offset=".3" stop-color="#e0e1e1" />
<stop offset=".4" stop-color="#dbdcdc" />
<stop offset=".5" stop-color="#cccece" />
<stop offset=".6" stop-color="#b5b6b7" />
<stop offset=".7" stop-color="#949697" />
<stop offset=".8" stop-color="#6a6c6f" />
<stop offset=".8" stop-color="#3f4246" />
<stop offset="1" stop-color="#404247" />
<stop offset="1" stop-color="#43434a" />
</linearGradient>
<linearGradient id="g" x1="728.5" y1="86.7" x2="740.4" y2="86.7"
gradientTransform="translate(-720 126) scale(1 -1)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#11627b" />
<stop offset="0" stop-color="#0b788d" />
<stop offset=".3" stop-color="#00a4b1" />
<stop offset=".4" stop-color="#039aa9" />
<stop offset=".5" stop-color="#068b9d" />
<stop offset=".8" stop-color="#11627b" />
</linearGradient>
<linearGradient id="h" x1="-356.1" y1="110.3" x2="-368" y2="110.3"
gradientTransform="translate(-347.8 126) rotate(-180)" xlink:href="#g" />
</defs>
<g id="c">
<rect width="28.8" height="124.7" style="fill:rgba(83,90,96,0); stroke-width:0px;" />
<ellipse id="d" cx="14.4" cy="61.3" rx="14.4" ry="3.7"
style="fill:#262d34; isolation:isolate; opacity:.2; stroke-width:0px;" />
<ellipse id="e" cx="14.4" cy="61.3" rx="7.5" ry="3"
style="fill:#535a60; stroke-width:0px;" />
<path
d="m11.4,0h6c.7,0,1.2.6,1.2,1.3v57.4c0,1.9-1.5,3.4-3.4,3.4h-1.8c-1.9,0-3.4-1.5-3.4-3.4V1.3c.1-.7.7-1.3,1.4-1.3Z"
style="fill:url(#f); stroke-width:0px;" />
<path d="m20.4,46.8s-1.1.7-5.8.7-6.2-.7-6.2-.7v-14.7s.7-1,6.2-1,5.8,1,5.8,1v14.7Z"
style="fill:url(#g); stroke-width:0px;" />
<path d="m8.3,23.2s1.1.7,5.8.7,6.2-.7,6.2-.7v-14.8s-.7-1-6.2-1-5.8,1-5.8,1v14.7h0Z"
style="fill:url(#h); stroke-width:0px;" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -0,0 +1,92 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 28 124">
<defs>
<style>
.cls-1 {
fill: #aa211a;
mix-blend-mode: multiply;
}
.cls-1, .cls-2, .cls-3, .cls-4, .cls-5, .cls-6, .cls-7, .cls-8, .cls-9 {
stroke-width: 0px;
}
.cls-2 {
fill: none;
opacity: 0;
}
.cls-10 {
isolation: isolate;
}
.cls-3 {
fill: url(#_铃琨眄沭噤桢眚_3);
}
.cls-4 {
fill: #721715;
}
.cls-5 {
fill: #d24f00;
}
.cls-6 {
fill: #dd2824;
}
.cls-7 {
fill: #bc1919;
}
.cls-8 {
fill: #ffe2d6;
}
.cls-9 {
fill: #ff4545;
}
</style>
<linearGradient id="_铃琨眄沭噤桢眚_3" data-name="铃琨眄沭噤桢眚 3" x1="-3198.91" y1="65.71" x2="-3176.55" y2="65.71" gradientTransform="translate(-3173.67) rotate(-180) scale(1 -1)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#d87a1e"/>
<stop offset=".21" stop-color="#d87a1e"/>
<stop offset=".21" stop-color="#c4660a"/>
<stop offset=".79" stop-color="#9f3e00"/>
<stop offset=".79" stop-color="#913300"/>
<stop offset="1" stop-color="#9d3f00"/>
</linearGradient>
</defs>
<g class="cls-10">
<g id="_图层_2" data-name="图层 2">
<g id="_图层_1-2" data-name="图层 1">
<rect class="cls-2" width="28" height="124"/>
<g>
<g>
<path class="cls-3" d="m2.88,64.12v-1.9l22.36-.58v1.32c-.02,1.74-1.12,3.48-3.3,4.81-4.38,2.67-11.46,2.69-15.81.03-2.18-1.33-3.27-3.09-3.25-4.84v1.16Z"/>
<path class="cls-6" d="m6.13,67.06c4.35,2.66,11.43,2.64,15.81-.03,4.38-2.67,4.4-7,.05-9.66-4.35-2.66-11.43-2.64-15.81.03-4.38,2.67-4.4,7-.05,9.66Z"/>
</g>
<g>
<path class="cls-5" d="m7.52,54.02l3.57-32.53-3.62,32c0,.18.02.35.06.53Z"/>
<path class="cls-5" d="m6.99,58.87c-.04-.09-.07-.19-.1-.28l-.42,3.75s.08.09.13.14l.39-3.6Z"/>
<path class="cls-1" d="m10.41,21.64s-4.45,38.19-4.45,38.52c0,.8.1,1.33.3,1.97,0,0,.07.08.19.21l.42-3.75.58-5.09,3.62-32-.68.15Z"/>
<path class="cls-6" d="m14.8,62.49l-.08-4.63-.63-35.83h-1.41l-1.63,35.39-.21,4.61-.14,3.13c1.2.47,2.6.78,4.17.7l-.06-3.37Z"/>
<path class="cls-7" d="m11.09,21.49l-3.57,32.53-.53,4.85-.39,3.6c.61.61,2.04,1.9,4.09,2.71l.14-3.13.21-4.61,1.63-35.39-1.59-.55Z"/>
<path class="cls-5" d="m7.52,54.02c-.03-.18-.05-.35-.06-.53l-.58,5.09c.03.09.06.19.1.28l.53-4.85Z"/>
<path class="cls-7" d="m17.6,21.86l-.77.18,3.66,31.62.57,4.92.53,4.59c.31-.97.43-2.01.43-3.01l-4.42-38.29Z"/>
<path class="cls-9" d="m21.06,58.58l-.57-4.92-3.66-31.62h-2.75l.63,35.83.08,4.63.06,3.37c2-.11,4.28-.85,6.73-2.7l-.53-4.59Z"/>
</g>
<g>
<path class="cls-4" d="m16.56,23.23c-1.4.86-3.69.85-5.1,0-1.41-.86-1.42-2.26-.02-3.11,1.4-.86,3.69-.85,5.1,0,1.41.86,1.42,2.26.02,3.11Z"/>
<path class="cls-4" d="m16.3,23.12c-1.34.82-3.52.81-4.86,0-1.35-.82-1.35-2.15-.02-2.97,1.34-.82,3.52-.81,4.86,0,1.35.82,1.35,2.15.02,2.97Z"/>
</g>
<g>
<path class="cls-8" d="m19.24,52.34c-3.2,2.75-8.04,2.48-10.81-.59-.59-.66-1.04-1.39-1.35-2.16-.26,2.29-.5,4.35-.69,5.99.33,1.07.89,2.1,1.71,3,3,3.33,8.17,3.76,11.55.98.91-.75,1.59-1.66,2.04-2.64l-.77-6.65c-.42.76-.98,1.47-1.68,2.08Z"/>
<path class="cls-8" d="m19.34,47.54c.43-.36.8-.76,1.12-1.19l-.75-6.53c-.23.27-.48.54-.75.78-3.02,2.64-7.59,2.39-10.21-.57-.18-.2-.34-.41-.49-.63-.23,2.01-.47,4.04-.69,5.99.25.42.54.83.88,1.21,2.83,3.2,7.72,3.62,10.91.94Z"/>
<path class="cls-8" d="m19.18,35.21l-.68-5.9c-2.74,1.8-6.51,1.69-9.05-.22-.2,1.69-.41,3.56-.64,5.51,2.82,2.45,7.32,2.73,10.37.6Z"/>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@ -1 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="511.9" height="512" viewBox="0 0 511.9 512"><defs><style>.d,.e{fill:#fff;}.e{opacity:0;}</style></defs><g id="c"><g><rect class="e" width="170.6" height="512"/><rect class="e" width="42.7" height="512"/><rect class="e" x="128" width="42.7" height="512"/><rect class="d" x="42.7" width="85.3" height="512"/></g><g><rect class="e" x="170.6" width="170.6" height="512"/><rect class="e" x="170.6" width="42.7" height="512"/><rect class="e" x="298.6" width="42.7" height="512"/><rect class="d" x="213.3" width="85.3" height="512"/></g><g><rect class="e" x="341.3" width="170.6" height="512"/><rect class="e" x="341.3" width="42.7" height="512"/><rect class="e" x="469.2" width="42.7" height="512"/><rect class="d" x="383.9" width="85.3" height="512"/></g></g></svg> <?xml version="1.0" encoding="UTF-8"?>
<svg id="b" xmlns="http://www.w3.org/2000/svg" width="511.9" height="512" viewBox="0 0 511.9 512">
<defs>
<style>.d,.e{fill:#fff;}.e{opacity:0;}</style>
</defs>
<g id="c">
<g>
<rect class="e" width="170.6" height="512" />
<rect class="e" width="42.7" height="512" />
<rect class="e" x="128" width="42.7" height="512" />
<rect class="d" x="42.7" width="85.3" height="512" />
</g>
<g>
<rect class="e" x="170.6" width="170.6" height="512" />
<rect class="e" x="170.6" width="42.7" height="512" />
<rect class="e" x="298.6" width="42.7" height="512" />
<rect class="d" x="213.3" width="85.3" height="512" />
</g>
<g>
<rect class="e" x="341.3" width="170.6" height="512" />
<rect class="e" x="341.3" width="42.7" height="512" />
<rect class="e" x="469.2" width="42.7" height="512" />
<rect class="d" x="383.9" width="85.3" height="512" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 852 B

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -1 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><defs><style>.d{fill:none;}.e{fill:#3c4c56;}</style></defs><g id="c"><rect class="d" width="24" height="24"/><path class="e" d="M21.2,11.6L12.3,1.3c-.2-.2-.4-.2-.6,0L2.8,11.6c-.2,.2-.2,.5,0,.7l8.9,10.4c.2,.2,.4,.2,.6,0l8.9-10.4c.2-.2,.2-.5,0-.7Zm-2.7,.7l-6.2,7.3c-.2,.2-.4,.2-.6,0l-6.2-7.3c-.2-.2-.2-.5,0-.7l6.2-7.3c.2-.2,.4-.2,.6,0l6.2,7.3c.2,.2,.2,.5,0,.7Z"/></g></svg> <?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="18.7" height="21.7" viewBox="0 0 18.7 21.7"><g id="c"><path d="m18.6,10.5L9.7.2c-.2-.2-.4-.2-.6,0L.2,10.5c-.2.2-.2.5,0,.7l8.9,10.4c.2.2.4.2.6,0l8.9-10.4c.2-.2.2-.5,0-.7Zm-2.7.7l-6.2,7.3c-.2.2-.4.2-.6,0l-6.2-7.3c-.2-.2-.2-.5,0-.7l6.2-7.3c.2-.2.4-.2.6,0l6.2,7.3c.2.2.2.5,0,.7Z" style="fill:#3c4c56; stroke-width:0px;"/></g></svg>

Before

Width:  |  Height:  |  Size: 499 B

After

Width:  |  Height:  |  Size: 419 B

View File

@ -1 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><defs><style>.d{fill:none;}.e{fill:#fff;}</style></defs><g id="c"><rect class="d" width="24" height="24"/><path class="e" d="M21.2,11.6L12.3,1.3c-.2-.2-.4-.2-.6,0L2.8,11.6c-.2,.2-.2,.5,0,.7l8.9,10.4c.2,.2,.4,.2,.6,0l8.9-10.4c.2-.2,.2-.5,0-.7Zm-2.7,.7l-6.2,7.3c-.2,.2-.4,.2-.6,0l-6.2-7.3c-.2-.2-.2-.5,0-.7l6.2-7.3c.2-.2,.4-.2,.6,0l6.2,7.3c.2,.2,.2,.5,0,.7Z"/></g></svg> <?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="18.7" height="21.7" viewBox="0 0 18.7 21.7"><g id="c"><path d="m18.6,10.5L9.7.2c-.2-.2-.4-.2-.6,0L.2,10.5c-.2.2-.2.5,0,.7l8.9,10.4c.2.2.4.2.6,0l8.9-10.4c.2-.2.2-.5,0-.7Zm-2.7.7l-6.2,7.3c-.2.2-.4.2-.6,0l-6.2-7.3c-.2-.2-.2-.5,0-.7l6.2-7.3c.2-.2.4-.2.6,0l6.2,7.3c.2.2.2.5,0,.7Z" style="fill:#fff; stroke-width:0px;"/></g></svg>

Before

Width:  |  Height:  |  Size: 496 B

After

Width:  |  Height:  |  Size: 416 B

View File

@ -1 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><defs><style>.d{fill:none;}.e{fill:#ffc729;}</style></defs><g id="c"><rect class="d" width="24" height="24"/><path class="e" d="M21.2,11.6L12.3,1.3c-.2-.2-.4-.2-.6,0L2.8,11.6c-.2,.2-.2,.5,0,.7l8.9,10.4c.2,.2,.4,.2,.6,0l8.9-10.4c.2-.2,.2-.5,0-.7Zm-2.7,.7l-6.2,7.3c-.2,.2-.4,.2-.6,0l-6.2-7.3c-.2-.2-.2-.5,0-.7l6.2-7.3c.2-.2,.4-.2,.6,0l6.2,7.3c.2,.2,.2,.5,0,.7Z"/></g></svg> <?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="18.7" height="21.7" viewBox="0 0 18.7 21.7"><g id="c"><path d="m18.6,10.5L9.7.2c-.2-.2-.4-.2-.6,0L.2,10.5c-.2.2-.2.5,0,.7l8.9,10.4c.2.2.4.2.6,0l8.9-10.4c.2-.2.2-.5,0-.7Zm-2.7.7l-6.2,7.3c-.2.2-.4.2-.6,0l-6.2-7.3c-.2-.2-.2-.5,0-.7l6.2-7.3c.2-.2.4-.2.6,0l6.2,7.3c.2.2.2.5,0,.7Z" style="fill:#ffc729; stroke-width:0px;"/></g></svg>

Before

Width:  |  Height:  |  Size: 499 B

After

Width:  |  Height:  |  Size: 419 B

View File

@ -1 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><defs><style>.d{fill:none;}.e{fill:#e2233a;}</style></defs><g id="c"><rect class="d" width="24" height="24"/><path class="e" d="M21.2,11.6L12.3,1.3c-.2-.2-.4-.2-.6,0L2.8,11.6c-.2,.2-.2,.5,0,.7l8.9,10.4c.2,.2,.4,.2,.6,0l8.9-10.4c.2-.2,.2-.5,0-.7Zm-2.7,.7l-6.2,7.3c-.2,.2-.4,.2-.6,0l-6.2-7.3c-.2-.2-.2-.5,0-.7l6.2-7.3c.2-.2,.4-.2,.6,0l6.2,7.3c.2,.2,.2,.5,0,.7Z"/></g></svg> <?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="18.7" height="21.7" viewBox="0 0 18.7 21.7"><g id="c"><path d="m18.6,10.5L9.7.2c-.2-.2-.4-.2-.6,0L.2,10.5c-.2.2-.2.5,0,.7l8.9,10.4c.2.2.4.2.6,0l8.9-10.4c.2-.2.2-.5,0-.7Zm-2.7.7l-6.2,7.3c-.2.2-.4.2-.6,0l-6.2-7.3c-.2-.2-.2-.5,0-.7l6.2-7.3c.2-.2.4-.2.6,0l6.2,7.3c.2.2.2.5,0,.7Z" style="fill:#e2233a; stroke-width:0px;"/></g></svg>

Before

Width:  |  Height:  |  Size: 499 B

After

Width:  |  Height:  |  Size: 419 B

View File

@ -1 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><defs><style>.d{fill:none;}.e{fill:#6a30c6;}</style></defs><g id="c"><rect class="d" width="24" height="24"/><path class="e" d="M18.8,11.7l-6.6-7.7c-.1-.1-.3-.1-.5,0l-6.6,7.7c-.1,.1-.1,.4,0,.5l6.6,7.7c.1,.1,.3,.1,.5,0l6.6-7.7c.1-.1,.1-.4,0-.5Zm-2,.5l-4.6,5.4c-.1,.1-.3,.1-.4,0l-4.6-5.4c-.1-.1-.1-.4,0-.5l4.6-5.4c.1-.1,.3-.1,.4,0l4.6,5.4c.1,.1,.1,.4,0,.5Z"/><path class="e" d="M20.8,2.2c.6,0,1,.4,1,1V20.8c0,.6-.4,1-1,1H3.2c-.6,0-1-.4-1-1V3.2c0-.6,.4-1,1-1H20.8m0-1H3.2c-1.1,0-2,.9-2,2V20.8c0,1.1,.9,2,2,2H20.8c1.1,0,2-.9,2-2V3.2c0-1.1-.9-2-2-2h0Z"/></g></svg> <?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="21.6" height="21.6" viewBox="0 0 21.6 21.6"><g id="c"><path d="m17.6,10.5l-6.6-7.7c-.1,0-.3,0-.5,0l-6.6,7.7c0,.1,0,.4,0,.5l6.6,7.7c.1.1.3.1.5,0l6.6-7.7c.1-.1.1-.4,0-.5Zm-2,.5l-4.6,5.4c-.1.1-.3.1-.4,0l-4.6-5.4c0-.1,0-.4,0-.5l4.6-5.4c.1,0,.3,0,.4,0l4.6,5.4c.1.1.1.4,0,.5Z" style="fill:#6a30c6; stroke-width:0px;"/><path d="m19.6,1c.6,0,1,.4,1,1v17.6c0,.6-.4,1-1,1H2c-.6,0-1-.4-1-1V2c0-.6.4-1,1-1h17.6m0-1H2C.9,0,0,.9,0,2v17.6c0,1.1.9,2,2,2h17.6c1.1,0,2-.9,2-2V2c0-1.1-.9-2-2-2h0Z" style="fill:#6a30c6; stroke-width:0px;"/></g></svg>

Before

Width:  |  Height:  |  Size: 687 B

After

Width:  |  Height:  |  Size: 622 B

View File

@ -1 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><defs><style>.d{fill:none;}.e{fill:#053cd6;}</style></defs><g id="c"><rect class="d" width="24" height="24"/><path class="e" d="M21.2,11.6L12.3,1.3c-.2-.2-.4-.2-.6,0L2.8,11.6c-.2,.2-.2,.5,0,.7l8.9,10.4c.2,.2,.4,.2,.6,0l8.9-10.4c.2-.2,.2-.5,0-.7Zm-2.7,.7l-6.2,7.3c-.2,.2-.4,.2-.6,0l-6.2-7.3c-.2-.2-.2-.5,0-.7l6.2-7.3c.2-.2,.4-.2,.6,0l6.2,7.3c.2,.2,.2,.5,0,.7Z"/></g></svg> <?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="18.7" height="21.7" viewBox="0 0 18.7 21.7"><g id="c"><path d="m18.6,10.5L9.7.2c-.2-.2-.4-.2-.6,0L.2,10.5c-.2.2-.2.5,0,.7l8.9,10.4c.2.2.4.2.6,0l8.9-10.4c.2-.2.2-.5,0-.7Zm-2.7.7l-6.2,7.3c-.2.2-.4.2-.6,0l-6.2-7.3c-.2-.2-.2-.5,0-.7l6.2-7.3c.2-.2.4-.2.6,0l6.2,7.3c.2.2.2.5,0,.7Z" style="fill:#053cd6; stroke-width:0px;"/></g></svg>

Before

Width:  |  Height:  |  Size: 499 B

After

Width:  |  Height:  |  Size: 419 B

View File

@ -24,7 +24,6 @@ import java.util.*
open class ReferenceEntity() : RealmObject(), Parcelable { open class ReferenceEntity() : RealmObject(), Parcelable {
@PrimaryKey @PrimaryKey
var id: String = UUID.randomUUID().toString() // id var id: String = UUID.randomUUID().toString() // id
@Ignore
lateinit var name: String //要素名 lateinit var name: String //要素名
lateinit var table: String //要素表名 lateinit var table: String //要素表名
var propertiesDb: String = "" var propertiesDb: String = ""

View File

@ -40,6 +40,24 @@ class LineHandler(context: AppCompatActivity, mapView: NIMapView) : BaseHandler(
layer layer
} }
/**
* 高亮线图层同时只高亮一条线如要素本身线型
*/
private val mDataGeometryPathLayer: PathLayer by lazy {
//高亮线绘制线 样式
val defaultLineStyle = Style.builder()
.stippleColor(context.resources.getColor(R.color.teal_200))
.strokeWidth(5f)
.fillColor(context.resources.getColor(R.color.draw_line_blue2_color))
.fillAlpha(0.3f)
.strokeColor(context.resources.getColor(R.color.draw_line_blue2_color))
.fixed(true).build()
val layer = PathLayer(mMapView.vtmMap, defaultLineStyle)
addLayer(layer, NIMapView.LAYER_GROUPS.OPERATE_LINE)
layer
}
/** /**
* 路口高亮 * 路口高亮
@ -139,6 +157,42 @@ class LineHandler(context: AppCompatActivity, mapView: NIMapView) : BaseHandler(
} }
} }
/**
* 高亮一条线
*/
fun showElementLine(list:List<GeoPoint>) {
try {
mDataGeometryPathLayer.clearPath()
mDataGeometryPathLayer.setPoints(list)
mDataGeometryPathLayer.isEnabled = true
} catch (e: Exception) {
Toast.makeText(mContext, "高亮路线失败 ${e.message}", Toast.LENGTH_SHORT).show()
}
}
/**
* 高亮一条线
*/
fun showElementLine(geometry: String) {
try {
mDataGeometryPathLayer.clearPath()
mDataGeometryPathLayer.setPoints(GeometryTools.getGeoPoints(geometry))
mDataGeometryPathLayer.isEnabled = true
} catch (e: Exception) {
Toast.makeText(mContext, "高亮路线失败 ${e.message}", Toast.LENGTH_SHORT).show()
}
}
/**
* 取消高亮线
*/
fun removeElementLine() {
mDataGeometryPathLayer.clearPath()
mDataGeometryPathLayer.isEnabled = false
}
/** /**
* 取消高亮线 * 取消高亮线
@ -148,6 +202,14 @@ class LineHandler(context: AppCompatActivity, mapView: NIMapView) : BaseHandler(
mDefaultPathLayer.isEnabled = false mDefaultPathLayer.isEnabled = false
} }
/**
* 取消高亮线
*/
fun removeAllLine() {
removeLine()
removeElementLine()
}
/** /**
* 移除所有任务高亮线 * 移除所有任务高亮线
*/ */

View File

@ -93,6 +93,26 @@ class MarkHandler(context: AppCompatActivity, mapView: NIMapView) :
layer layer
} }
/**
* 默认marker图层
*/
private val mDataMarkerLayer: ItemizedLayer by lazy {
//新增marker图标样式
val mDefaultBitmap =
AndroidBitmap(BitmapFactory.decodeResource(context.resources, R.mipmap.icon_path_maker))
mDefaultBitmap.scaleTo(150, 150)
val markerSymbol = MarkerSymbol(
mDefaultBitmap,
MarkerSymbol.HotspotPlace.CENTER
)
val layer = ItemizedLayer(
mapView.vtmMap,
markerSymbol,
)
addLayer(layer, NIMapView.LAYER_GROUPS.OPERATE_MARKER)
layer
}
private val niLocationBitmap: Bitmap by lazy { private val niLocationBitmap: Bitmap by lazy {
AndroidBitmap( AndroidBitmap(
BitmapFactory.decodeResource( BitmapFactory.decodeResource(

View File

@ -29,6 +29,7 @@ import org.oscim.tiling.source.mvt.TileDecoder;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -69,19 +70,54 @@ public class OMDBDataDecoder extends TileDecoder {
mTileX = tile.tileX / mTileScale; mTileX = tile.tileX / mTileScale;
mTileY = tile.tileY / mTileScale; mTileY = tile.tileY / mTileScale;
mTileScale *= Tile.SIZE; mTileScale *= Tile.SIZE;
List<RenderEntity> list = new ArrayList<>();
List<RenderEntity> traffList = new ArrayList<>();
listResult.stream().iterator().forEachRemaining(new Consumer<RenderEntity>() { listResult.stream().iterator().forEachRemaining(new Consumer<RenderEntity>() {
@Override @Override
public void accept(RenderEntity renderEntity) { public void accept(RenderEntity renderEntity) {
if (!(mapLevel < renderEntity.getZoomMin() || mapLevel > renderEntity.getZoomMax())) { if (!(mapLevel < renderEntity.getZoomMin() || mapLevel > renderEntity.getZoomMax())) {
if (renderEntity.getCode().equals(DataCodeEnum.OMDB_TRAFFIC_SIGN.getCode())) {
list.add(renderEntity);
} else if (renderEntity.getCode().equals(DataCodeEnum.OMDB_TRAFFICLIGHT.getCode())) {
traffList.add(renderEntity);
} else {
Map<String, Object> properties = new HashMap<>(renderEntity.getProperties().size()); Map<String, Object> properties = new HashMap<>(renderEntity.getProperties().size());
properties.putAll(renderEntity.getProperties()); properties.putAll(renderEntity.getProperties());
parseGeometry(renderEntity.getTable(), renderEntity.getWkt(), properties); parseGeometry(renderEntity.getTable(), renderEntity.getWkt(), properties);
}
} else { } else {
// Log.e("qj","render"+renderEntity.name+"=="+renderEntity.getZoomMin()+"==="+renderEntity.getZoomMax()+"==="+renderEntity.getEnable()); // Log.e("qj","render"+renderEntity.name+"=="+renderEntity.getZoomMin()+"==="+renderEntity.getZoomMax()+"==="+renderEntity.getEnable());
} }
} }
}); });
//增加交通标牌聚合显示
List<RenderEntity> list1 = GeometryTools.groupByDistance(DataCodeEnum.OMDB_TRAFFIC_SIGN.getCode(), list, 5.0);
if (list1 != null && list1.size() > 0) {
Log.e("qj", "聚合交通标牌转换开始" + list.size());
list1.stream().iterator().forEachRemaining(new Consumer<RenderEntity>() {
@Override
public void accept(RenderEntity renderEntity) {
Map<String, Object> properties = new HashMap<>(renderEntity.getProperties().size());
properties.putAll(renderEntity.getProperties());
parseGeometry(renderEntity.getTable(), renderEntity.getWkt(), properties);
}
});
Log.e("qj", "聚合交通标牌转换结束" + list1.size());
}
//增加交通标牌聚合显示
List<RenderEntity> list2 = GeometryTools.groupByDistance(DataCodeEnum.OMDB_TRAFFICLIGHT.getCode(), traffList, 5.0);
if (list2 != null && list2.size() > 0) {
Log.e("qj", "聚合红绿灯转换开始" + traffList.size());
list2.stream().iterator().forEachRemaining(new Consumer<RenderEntity>() {
@Override
public void accept(RenderEntity renderEntity) {
Map<String, Object> properties = new HashMap<>(renderEntity.getProperties().size());
properties.putAll(renderEntity.getProperties());
parseGeometry(renderEntity.getTable(), renderEntity.getWkt(), properties);
}
});
Log.e("qj", "聚合红绿灯转换结束" + list2.size());
}
return true; return true;
} }

View File

@ -113,9 +113,10 @@ public class OMDBTileDataSource implements ITileDataSource {
} else { } else {
sql += " and enable>=0"; sql += " and enable>=0";
} }
realmQuery.rawPredicate(sql); realmQuery.rawPredicate(sql);
// 筛选不显示的数据 //筛选不显示的数据
if (Constant.HAD_LAYER_INVISIABLE_ARRAY != null && Constant.HAD_LAYER_INVISIABLE_ARRAY.length > 0) { if (Constant.HAD_LAYER_INVISIABLE_ARRAY != null && Constant.HAD_LAYER_INVISIABLE_ARRAY.length > 0) {
realmQuery.beginGroup(); realmQuery.beginGroup();
for (String type : Constant.HAD_LAYER_INVISIABLE_ARRAY) { for (String type : Constant.HAD_LAYER_INVISIABLE_ARRAY) {
@ -138,10 +139,7 @@ public class OMDBTileDataSource implements ITileDataSource {
// .filter((RenderEntity renderEntity) -> MercatorProjection.longitudeToTileX(viewport.fromScreenPoint(0,0).getLongitude(), (byte) Constant.DATA_ZOOM) == currentTileX || renderEntity.getTileX().stream().min(Integer::compare).get() == currentTileX) // .filter((RenderEntity renderEntity) -> MercatorProjection.longitudeToTileX(viewport.fromScreenPoint(0,0).getLongitude(), (byte) Constant.DATA_ZOOM) == currentTileX || renderEntity.getTileX().stream().min(Integer::compare).get() == currentTileX)
.collect(Collectors.toList()); .collect(Collectors.toList());
List<RenderEntity> list = GeometryTools.groupByDistance("3005", listResult, 5.0); mThreadLocalDecoders.get().decode(tile.zoomLevel, tile, mapDataSink, listResult);
mThreadLocalDecoders.get().decode(tile.zoomLevel, tile, mapDataSink, list);
mapDataSink.completed(QueryResult.SUCCESS); mapDataSink.completed(QueryResult.SUCCESS);
} else { } else {

View File

@ -35,7 +35,7 @@ import java.util.List;
* @author qj 几何工具类 * @author qj 几何工具类
*/ */
public class GeometryTools { public class GeometryTools {
private final static String TAG = "GeometryTools";
static final double PI = 3.14159216; static final double PI = 3.14159216;
private static volatile GeometryTools mInstance; private static volatile GeometryTools mInstance;
static double earthRadiusMeters = 6371000.0; static double earthRadiusMeters = 6371000.0;
@ -1581,7 +1581,7 @@ public class GeometryTools {
* @param list * @param list
* @return * @return
*/ */
public static List<RenderEntity> groupByDistance(String code,List<RenderEntity> list, double disance) { public static synchronized List<RenderEntity> groupByDistance(String code, List<RenderEntity> list, double disance) {
if (list == null || disance <= 0) { if (list == null || disance <= 0) {
return null; return null;
@ -1589,52 +1589,147 @@ public class GeometryTools {
List<RenderEntity> listReslut = new ArrayList<>(); List<RenderEntity> listReslut = new ArrayList<>();
java.util.Map<String, RenderEntity> calcMap = new HashMap<>(); java.util.Map<String, String> calcMap = new HashMap<>();
int count = 0; Log.e("qj", listReslut.size() + "==判断开始==" + list.size() + "===" + calcMap.size());
//遍历开始 //遍历开始
for (RenderEntity renderEntity : list) { for (RenderEntity renderEntity : list) {
if(!TextUtils.isEmpty(code)&&!renderEntity.getCode().equals(code)){ int count = 0;
listReslut.add(renderEntity);
calcMap.put(renderEntity.getId(),renderEntity);
continue;
}
Log.e("qj", listReslut.size() + "==判断0000");
//计算过的不在进行遍历
if (!calcMap.containsKey(renderEntity.getId())) { if (!calcMap.containsKey(renderEntity.getId())) {
//跟要素遍历对比如果统一个点直接标记计算并记录在内已经计算过不在二次计算 //跟要素遍历对比如果统一个点直接标记计算并记录在内已经计算过不在二次计算
for (RenderEntity renderEntityTemp : list) { for (RenderEntity renderEntityTemp : list) {
if (!calcMap.containsKey(renderEntity.getId())) { if (!calcMap.containsKey(renderEntityTemp.getId())) {
if (renderEntity.getId().equals(renderEntityTemp.getId())) {
listReslut.add(renderEntityTemp); //非当前code不参与运算
count++; if (!TextUtils.isEmpty(code) && !renderEntityTemp.getCode().equals(code)) {
Log.e("qj", "====计算间距" + count); listReslut.add(renderEntity);
calcMap.put(renderEntityTemp.getId(), renderEntityTemp); calcMap.put(renderEntityTemp.getId(), renderEntityTemp.getCode());
Log.e("qj", listReslut.size() + "==判断1111");
} else { } else {
GeoPoint geoPoint = createGeoPoint(renderEntity.getGeometry()); GeoPoint geoPoint = createGeoPoint(renderEntity.getGeometry());
GeoPoint geoPoint1 = createGeoPoint(renderEntityTemp.getGeometry()); GeoPoint geoPoint1 = createGeoPoint(renderEntityTemp.getGeometry());
double dis = getDistance(geoPoint.getLatitude(), geoPoint.getLongitude(), geoPoint1.getLatitude(), geoPoint1.getLongitude()); double dis = getDistance(geoPoint.getLatitude(), geoPoint.getLongitude(), geoPoint1.getLatitude(), geoPoint1.getLongitude());
Log.e("qj", "====计算间距" + dis);
if (geoPoint != null && geoPoint1 != null && dis <= disance) { if (geoPoint != null && geoPoint1 != null && dis <= disance) {
//只取第一个坐标 count++;
renderEntityTemp.setGeometry(renderEntity.getGeometry()); //只保留一条
//renderEntity.setProperties(renderEntity.getProperties()); if (count == 1) {
calcMap.put(renderEntityTemp.getId(), renderEntityTemp); renderEntityTemp.getProperties().put("src", "assets:omdb/appendix/1105_00101_0.svg");
listReslut.add(renderEntityTemp); listReslut.add(renderEntityTemp);
Log.e("qj", listReslut.size() + "==判断3333");
}
calcMap.put(renderEntityTemp.getId(), renderEntityTemp.getCode());
Log.e("qj", "====计算间距" + dis);
} }
} }
} }
} }
//增加同点位聚合个数统计
if (listReslut.size() > 0) {
if (count > 1) {
listReslut.get(listReslut.size() - 1).getProperties().put("name", count + "");
} else {
listReslut.get(listReslut.size() - 1).getProperties().put("name", "");
}
}
} }
} }
Log.e("qj", listReslut.size()+"==判断后=="+list.size()+"==="+calcMap.size()); Log.e("qj", listReslut.size() + "==判断结束==" + list.size() + "===" + calcMap.size());
return listReslut; return listReslut;
} }
/**
* 线几何按距离等分点
*/
public static synchronized List<GeoPoint> getLineToDengGeoPints(Geometry lineGeometry, double dengDisance) {
List<GeoPoint> geoPointList = new ArrayList<>();
//获取线几何点
List<GeoPoint> list = getGeoPoints(lineGeometry);
if(list!=null&&list.size()>=2) {
for (int i = 0; i < list.size() - 1; i++) {
GeoPoint geoPoint1 = list.get(i);
GeoPoint geoPoint2 = list.get(i + 1);
double disance = getDistance(geoPoint1.getLatitude(), geoPoint1.getLongitude(), geoPoint2.getLatitude(), geoPoint2.getLongitude());
//只有第一个点进行添加后面数据过滤掉
if(i==0){
geoPointList.add(geoPoint1);
}
geoPointList.add(geoPoint2);
if (disance > dengDisance) {
//向上取整
int num = (int) Math.ceil(disance / dengDisance);
//计算等分数据
List<GeoPoint> dengList = getDengGeoPoint(geoPoint1, geoPoint2, num);
if (dengList != null && dengList.size() > 0) {
geoPointList.addAll(dengList);
}
}
}
}
return geoPointList;
}
/**
* 计算两点之间等距的经纬度
*/
private static List<GeoPoint> getDengGeoPoint(GeoPoint geoPoint1, GeoPoint geoPoint2, int number) {
double aaa, bbb, ccc = 0, ddd = 0;
List<GeoPoint> geoPointList = new ArrayList<>();
for (int i = 1; i < number + 1; i++) {
if (geoPoint1.getLongitude() > geoPoint2.getLongitude() && geoPoint1.getLatitude() > geoPoint2.getLatitude()) {
aaa = (geoPoint1.getLongitude() - geoPoint2.getLongitude()) / (number + 1);
ccc = geoPoint2.getLongitude() + aaa * (i);
bbb = (geoPoint1.getLatitude() - geoPoint2.getLatitude()) / (number + 1);
ddd = bbb * (i) + geoPoint2.getLatitude();
Log.e(TAG, "getLatLng:a " + ddd + " " + ccc);
} else if (geoPoint1.getLongitude() < geoPoint2.getLongitude() && geoPoint1.getLatitude() < geoPoint2.getLatitude()) {
aaa = (geoPoint2.getLongitude() - geoPoint1.getLongitude()) / (number + 1);
ccc = geoPoint1.getLongitude() + aaa * (i);
bbb = (geoPoint2.getLatitude() - geoPoint1.getLatitude()) / (number + 1);
ddd = geoPoint1.getLatitude() + bbb * i;
Log.e(TAG, "getLatLng:b " + ddd + " " + ccc);
} else if (geoPoint1.getLongitude() > geoPoint2.getLongitude() && geoPoint1.getLatitude() < geoPoint2.getLatitude()) {
aaa = (geoPoint1.getLongitude() - geoPoint2.getLongitude()) / (number + 1);
ccc = geoPoint2.getLongitude() + aaa * (number + 1 - i);
bbb = (geoPoint2.getLatitude() - geoPoint1.getLatitude()) / (number + 1);
ddd = geoPoint1.getLatitude() + bbb * i;
Log.e(TAG, "getLatLng:c " + ddd + " " + ccc);
} else if (geoPoint1.getLongitude() < geoPoint2.getLongitude() && geoPoint1.getLatitude() > geoPoint2.getLatitude()) {
aaa = (geoPoint2.getLongitude() - geoPoint1.getLongitude()) / (number + 1);
ccc = geoPoint1.getLongitude() + aaa * (i);
bbb = (geoPoint1.getLatitude() - geoPoint2.getLatitude()) / (number + 1);
ddd = geoPoint1.getLatitude() - bbb * i;
Log.e(TAG, "getLatLng:d " + ddd + " " + ccc);
}
geoPointList.add(new GeoPoint(ddd, ccc));
}
return geoPointList;
}
} }