jiaxing.liao 1 месяц назад
Родитель
Сommit
1ac5e9b3a6

+ 3 - 3
src/renderer/src/components/ColorModal/index.vue

@@ -161,7 +161,7 @@
                   </input-number>
                 </div>
               </el-form-item>
-              <el-form-item label="椭圆范围">
+              <el-form-item label="半径点坐标">
                 <div class="w-full flex items-center gap-8px">
                   <input-number
                     v-model="focalExtentX"
@@ -731,8 +731,8 @@ const onChangeAdvancedType = (val) => {
       y: Math.round((props.height || 100) / 2)
     }
     internalGradient.value.focal_extent = {
-      x: Math.round((props.width || 100) / 2),
-      y: Math.round((props.height || 100) / 2)
+      x: 0,
+      y: 0
     }
   }
 }

+ 1 - 1
src/renderer/src/lvgl-widgets/button/index.ts

@@ -89,7 +89,7 @@ export default {
           left: 0
         },
         shadow: {
-          color: '#2092f5ff',
+          color: '#9E9E9E7F',
           offsetX: 0,
           offsetY: 0,
           spread: 0,

+ 1 - 1
src/renderer/src/lvgl-widgets/button/style.json

@@ -42,7 +42,7 @@
           "left": 0
         },
         "shadow": {
-          "color": "#2092f5ff",
+          "color": "#9E9E9E7F",
           "offsetX": 0,
           "offsetY": 0,
           "spread": 0,

+ 9 - 1
src/renderer/src/model/index.ts

@@ -128,7 +128,15 @@ export const createFileResource = (path: string, type: 'image' | 'font' | 'other
         range: ['all'],
         codeRange: [],
         extText: '',
-        bin: ''
+        bin: '',
+        renderConfig: {
+          bitDepth: 4,
+          antiAlias: 'normal',
+          hinting: 'normal'
+        },
+        compress: {
+          type: 'none'
+        }
       }
     }
     default: {

+ 18 - 0
src/renderer/src/types/resource.d.ts

@@ -49,6 +49,24 @@ export type FontResource = {
   extText: string
   // 绑定BinId
   bin: string
+  /**
+   * 渲染设置
+   */
+  renderConfig: {
+    // 位深度 1 2 3 4 8
+    bitDepth: number
+    // 抗锯齿 无抗锯齿 灰度抗锯齿 轻量抗锯齿 正常抗锯齿 强抗锯齿
+    antiAlias: string
+    // Hinting 'none'| 'normal' | 'mono' | 'part
+    hinting: string
+  }
+  /**
+   * 压缩
+   */
+  compress: {
+    // 算法 'none'
+    type: string
+  }
 }
 
 export type OtherResource = {

+ 62 - 1
src/renderer/src/views/designer/sidebar/components/EditFontModal.vue

@@ -62,6 +62,59 @@
           </el-button>
         </div>
       </el-form-item>
+      <el-form-item label="压缩算法" prop="compress.type">
+        <el-select-v2
+          class="w-1"
+          v-model="formData.compress.type"
+          :options="[
+            { label: '无压缩', value: 'none' },
+            { label: 'RLE压缩', value: 'rle' },
+            { label: 'RLE+XOR预过滤', value: 'rle-xor' }
+          ]"
+        />
+      </el-form-item>
+      <el-collapse>
+        <el-collapse-item title="渲染设置" name="1">
+          <el-form-item label="位深度" prop="renderConfig.bitDepth">
+            <el-select-v2
+              class="w-1"
+              v-model="formData.renderConfig.bitDepth"
+              :options="[
+                { label: '1位(黑白)', value: '1' },
+                { label: '2位(灰度)', value: '2' },
+                { label: '3位(灰度)', value: '3' },
+                { label: '4位(灰度)', value: '4' },
+                { label: '8位(灰度)', value: '8' }
+              ]"
+            />
+          </el-form-item>
+          <el-form-item label="抗锯齿" prop="renderConfig.antiAlias">
+            <el-select-v2
+              class="w-1"
+              v-model="formData.renderConfig.antiAlias"
+              :options="[
+                { label: '无抗锯齿', value: 'none' },
+                { label: '灰度抗锯齿', value: 'gray' },
+                { label: '轻量抗锯齿', value: 'light' },
+                { label: '正常抗锯齿', value: 'normal' },
+                { label: '强抗锯齿', value: 'strong' }
+              ]"
+            />
+          </el-form-item>
+          <el-form-item label="Hinting" prop="renderConfig.hinting">
+            <el-select-v2
+              class="w-1"
+              v-model="formData.renderConfig.hinting"
+              :options="[
+                { label: '无Hinting', value: 'none' },
+                { label: '轻量', value: 'light' },
+                { label: '正常', value: 'normal' },
+                { label: 'Mono Hinting', value: 'mono' }
+              ]"
+            />
+          </el-form-item>
+        </el-collapse-item>
+      </el-collapse>
     </el-form>
     <template #footer>
       <el-button @click="show = false">取消</el-button>
@@ -111,7 +164,15 @@ const formData = ref<FontResource>({
   bin: '',
   extText: '',
   range: [],
-  codeRange: []
+  codeRange: [],
+  renderConfig: {
+    bitDepth: 4,
+    antiAlias: 'normal',
+    hinting: 'normal'
+  },
+  compress: {
+    type: 'none'
+  }
 })
 
 const rules = {