mirror of
https://github.com/misskey-dev/misskey.git
synced 2024-12-23 00:29:22 +09:00
Compare commits
4 Commits
6c30031ec3
...
38a1d1e19b
Author | SHA1 | Date | |
---|---|---|---|
|
38a1d1e19b | ||
|
0b23bebb7e | ||
|
53b1b32b85 | ||
|
29f0bc4c7d |
2
locales/index.d.ts
vendored
2
locales/index.d.ts
vendored
@ -4549,7 +4549,7 @@ export interface Locale extends ILocale {
|
||||
/**
|
||||
* 透明度
|
||||
*/
|
||||
"opacity": string;
|
||||
"transparency": string;
|
||||
/**
|
||||
* サーバールール
|
||||
*/
|
||||
|
@ -1132,7 +1132,7 @@ vertical: "縦"
|
||||
horizontal: "横"
|
||||
position: "位置"
|
||||
rotate: "回転"
|
||||
opacity: "透明度"
|
||||
transparency: "透明度"
|
||||
serverRules: "サーバールール"
|
||||
pleaseConfirmBelowBeforeSignup: "このサーバーに登録するには、以下の内容を確認し同意する必要があります。"
|
||||
pleaseAgreeAllToContinue: "続けるには、全ての「同意する」にチェックが入っている必要があります。"
|
||||
|
@ -106,7 +106,6 @@ import XFile from '@/components/MkDrive.file.vue';
|
||||
import * as os from '@/os.js';
|
||||
import { misskeyApi } from '@/scripts/misskey-api.js';
|
||||
import { useStream } from '@/stream.js';
|
||||
import { $i } from '@/account.js';
|
||||
import { defaultStore } from '@/store.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
import { uploadFile, uploads } from '@/scripts/upload.js';
|
||||
|
@ -41,8 +41,8 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||
<template #label>{{ i18n.ts.size }}</template>
|
||||
</MkRange>
|
||||
|
||||
<MkRange v-model="opacity" :min="0" :max="1" :step="0.01" :textConverter="(v) => `${Math.floor(v * 100)}%`">
|
||||
<template #label>{{ i18n.ts.opacity }}</template>
|
||||
<MkRange v-model="transparency" :min="0" :max="1" :step="0.01" :textConverter="(v) => `${Math.floor(v * 100)}%`">
|
||||
<template #label>{{ i18n.ts.transparency }}</template>
|
||||
</MkRange>
|
||||
|
||||
<MkRange v-model="rotate" :min="-45" :max="45" :textConverter="(v) => `${Math.floor(v)}°`">
|
||||
@ -158,16 +158,16 @@ const repeat = computed({
|
||||
get: () => watermarkConfig.value?.repeat ?? true,
|
||||
set: (v) => watermarkConfig.value = { ...watermarkConfig.value, repeat: v },
|
||||
});
|
||||
const opacity = computed({
|
||||
get: () => watermarkConfig.value?.opacity ?? 0.2,
|
||||
set: (v) => watermarkConfig.value = { ...watermarkConfig.value, opacity: v },
|
||||
const transparency = computed({
|
||||
get: () => 1 - (watermarkConfig.value?.opacity ?? 0.2),
|
||||
set: (v) => watermarkConfig.value = { ...watermarkConfig.value, opacity: (1 - v) },
|
||||
});
|
||||
const rotate = computed({
|
||||
get: () => watermarkConfig.value?.rotate ?? 15,
|
||||
set: (v) => watermarkConfig.value = { ...watermarkConfig.value, rotate: v },
|
||||
});
|
||||
const preserveBoundingRect = computed({
|
||||
get: () => watermarkConfig.value?.noBoundingBoxExpansion ?? false,
|
||||
get: () => !(watermarkConfig.value?.noBoundingBoxExpansion ?? false),
|
||||
set: (v) => watermarkConfig.value = { ...watermarkConfig.value, noBoundingBoxExpansion: !v },
|
||||
});
|
||||
|
||||
@ -294,19 +294,6 @@ const focusedForm = ref<'top' | 'left' | 'right' | 'bottom' | null>(null);
|
||||
</script>
|
||||
|
||||
<style module>
|
||||
.transition_x_enterActive,
|
||||
.transition_x_leaveActive {
|
||||
transition: opacity 0.3s cubic-bezier(0,0,.35,1), transform 0.3s cubic-bezier(0,0,.35,1);
|
||||
}
|
||||
.transition_x_enterFrom {
|
||||
opacity: 0;
|
||||
transform: translateX(50px);
|
||||
}
|
||||
.transition_x_leaveTo {
|
||||
opacity: 0;
|
||||
transform: translateX(-50px);
|
||||
}
|
||||
|
||||
.watermarkEditorRoot {
|
||||
container-type: inline-size;
|
||||
height: 100%;
|
||||
|
@ -11,8 +11,8 @@ import { useStream } from '@/stream.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
import { defaultStore } from '@/store.js';
|
||||
import { uploadFile } from '@/scripts/upload.js';
|
||||
import { canApplyWatermark } from '@/scripts/watermark.js';
|
||||
import type { MenuItem } from '@/types/menu.js';
|
||||
import { canApplyWatermark } from './watermark.js';
|
||||
|
||||
export function chooseFileFromPc(opts?: {
|
||||
multiple?: boolean;
|
||||
|
@ -14,7 +14,7 @@ import { $i } from '@/account.js';
|
||||
import { alert } from '@/os.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
import { instance } from '@/instance.js';
|
||||
import { canApplyWatermark, getWatermarkAppliedImage } from './watermark.js';
|
||||
import { canApplyWatermark, getWatermarkAppliedImage } from '@/scripts/watermark.js';
|
||||
|
||||
type Uploading = {
|
||||
id: string;
|
||||
|
@ -2,9 +2,10 @@
|
||||
* SPDX-FileCopyrightText: syuilo and misskey-project
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
import { getProxiedImageUrl } from "@/scripts/media-proxy.js";
|
||||
import { misskeyApi } from "@/scripts/misskey-api.js";
|
||||
import { defaultStore } from "@/store.js";
|
||||
|
||||
import { getProxiedImageUrl } from '@/scripts/media-proxy.js';
|
||||
import { misskeyApi } from '@/scripts/misskey-api.js';
|
||||
import { defaultStore } from '@/store.js';
|
||||
|
||||
export const watermarkAnchor = [
|
||||
'top-left',
|
||||
@ -33,7 +34,7 @@ export type WatermarkUserConfig = {
|
||||
fileUrl?: string;
|
||||
/** 親画像に対するウォーターマークの幅比率。ない場合は1。親画像が縦長の場合は幅の比率として、横長の場合は高さ比率として使用される */
|
||||
sizeRatio?: number;
|
||||
/** 透明度 */
|
||||
/** 不透明度 */
|
||||
opacity?: number;
|
||||
/** 回転角度(度数) */
|
||||
rotate?: number;
|
||||
@ -69,7 +70,7 @@ export type WatermarkConfig = {
|
||||
fileUrl?: string;
|
||||
/** 親画像に対するウォーターマークの幅比率。ない場合は1。親画像が縦長の場合は幅の比率として、横長の場合は高さ比率として使用される */
|
||||
sizeRatio?: number;
|
||||
/** 透明度 */
|
||||
/** 不透明度 */
|
||||
opacity?: number;
|
||||
/** 回転角度(度数) */
|
||||
rotate?: number;
|
||||
|
Loading…
Reference in New Issue
Block a user