увеличить размер изображения без потери качества - JS - PullRequest
0 голосов
/ 04 августа 2020

Я использую электрон, чтобы сделать приложение, которое получает значки приложений. поэтому я использовал app.getFileIcon(), чтобы получить значок и icon.toDataURL(), и передать URL-адрес изображения с событием для индекса. html

, и он работает нормально, но когда я увеличиваю размер изображения, он получает размыто, потому что максимальный размер значка на app.getFileIcon() может быть только 32 пикселей (или 48 в MacOs или linux)

вот как это выглядит (до увеличения высоты)

enter image description here

after height increase

enter image description here

Main.js

const { app, BrowserWindow, ipcMain, shell } = require('electron')
const path = require('path');
const { writeFileSync } = require('fs');

let win

function createWindow () {
  // Create the browser window.
  win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: true,
      enableRemoteModule: true,
    }
  })

  win.loadFile('public/index.html')
}

app.whenReady().then(createWindow)

// Get File Icons ------------------------------------------------

const filePath = path.normalize("C:\\Users\\hamid\\Desktop\\DualTouch\\NordVPN.lnk");
const realPath = shell.readShortcutLink(filePath).target

app.getFileIcon(realPath).then(icon => {

  const ImgUrl = icon.toDataURL()
  ipcMain.on('ImgUrl-request', (event)=>{
    event.sender.send('ImgUrl-reply', ImgUrl)
  })
  writeFileSync('icon.png', icon.toPNG())

}).catch(err => console.log(err))

index.html

<!DOCTYPE html>
  DualTouch   

Ответы [ 2 ]

1 голос
/ 04 августа 2020

К сожалению, размер изображения обратно пропорционален качеству, т. Е. Экспозиции элементов изображения изображения. Поэтому, чтобы получить лучшее качество, я предлагаю вам получить изображение с большим количеством пикселей и большим разрешением.

0 голосов
/ 04 августа 2020

Вы не можете добавить информацию к несуществующему изображению, но есть несколько действительно хороших тезисов апскейлера, особенно на основе AI.

Например, переход на этот веб-сайт -> https://bigjpg.com/ Мне удалось масштабировать ваше изображение, чтобы оно выглядело так ->

Upscaled Image

A quick search for tools for AI upscaling bring this up https://github.com/topics/upscaling, поэтому, возможно, один из этих вариантов может оказаться полезным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...