Перейти к содержимому
  • 0
MisterFunny01

Как иконки красивые сделать

Вопрос

Я хочу вместо текста и текст и иконки. Напр. Все папки выглядят как папки (ну это логично) покажите плиз, как сделать иконки для определенного расширения файлов

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

@MisterFunny01, если речь о майноси, то индивидуально для каждого файла - никак. Иконки можно кастомизировать у приложений, а потом уже назначать ассоциации расширений файлов для открытия выбранным приложением. Конкретнее - смотри содержимое приложухи MineCode IDE.app, там как раз добавлены кастомные иконки и контекстное меню для .cfg/.txt/.lua, да и вообще довольно очевидно все

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
21.02.2019 в 21:09, ECS сказал:

@MisterFunny01, если речь о майноси, то индивидуально для каждого файла - никак. Иконки можно кастомизировать у приложений, а потом уже назначать ассоциации расширений файлов для открытия выбранным приложением. Конкретнее - смотри содержимое приложухи MineCode IDE.app, там как раз добавлены кастомные иконки и контекстное меню для .cfg/.txt/.lua, да и вообще довольно очевидно все

Это не майнось, (квест, надо файлы некоторые выделить (только папки )) просто майнось делает для всех файлов (.lua) а мне надо только для определенных, ну и не в "акошке" а в консоле

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

@MisterFunny01, что значит "выделить только папки"? Ты же выше писал, что нужно отображение иконок вместе с именем файла, а теперь про выделение какое-то. Нипанятна! Но если что, папку от файла можно отличить через

print(filesystem.isDirectory("/MyFile.lua"))

> false

А расширение файла можно получить через регулярку

local name = "MyFile.lua"
print(name:match("[^%/]+(%.[^%/]+)%/?$"))

> .lua

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
06.03.2019 в 16:30, ECS сказал:

@MisterFunny01, что значит "выделить только папки"? Ты же выше писал, что нужно отображение иконок вместе с именем файла, а теперь про выделение какое-то. Нипанятна! Но если что, папку от файла можно отличить через


print(filesystem.isDirectory("/MyFile.lua"))

> false

А расширение файла можно получить через регулярку


local name = "MyFile.lua"
print(name:match("[^%/]+(%.[^%/]+)%/?$"))

> .lua

 

Ну выделить папку иконкой

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Рили не понятно, о чем идет речь, прости. Что за папки, в какой софтине - в ls.lua или в какой-то иной? Что подразумевается под иконкой - однопиксельный значок или изображение?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

@ECS , Как я понял речь идет о том как папке дать значок, как в швиндусе например можно у папки значок сменить. Хотя не уверен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

@FelixBanan Дык это, а папки-то у него в каком виде вообще отображаются? Опеносовский ls? Или он хочет софтину для листинга с нуля написать? НиПаНЯяяТна

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
16.03.2019 в 14:59, ECS сказал:

Рили не понятно, о чем идет речь, прости. Что за папки, в какой софтине - в ls.lua или в какой-то иной? Что подразумевается под иконкой - однопиксельный значок или изображение?

Изображение. Я ХОЧУ, ЧТОБЫ ВМЕСТО ТЕКСТА (название папки/файла) БЫЛА КАРТИНКА С НАЗВАНИЕМ ЭТОГО ФАЙЛА/ПАПКИ (мне нужно, чтобы только папки были с иконокой, файлы можно и текстом)

НАПР

filesystem.list()

--и с этого надо получить название и разширение, потом

filesystem.isDirectory()

-- и мы все папки, на которые он реагирует (filesystem.isDirectory() true) надо сделать иконку

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

@MisterFunny01, так бы и сказал сразу. Ну чо, берешь либо готовую либу для отрисовки пикч, либо пишешь собственную. Далее создаешь пикчи либо в готовом пикчредакторе, либо в самописном, либо вообще по пиксельному массиву, создаваемому напрямую в коде. Далее получаешь список файлов из директории, фильтруешь расширения, и рисуешь пикчи. В чем проблема-то?

 

Данный пример для готовой либы. Как обстоят дела конкретно в твоем случае - я хз.

local filesystem = require("filesystem")
local image = require("image")
local gpu = require("component").gpu

local directoryImage = image.load("/Papka.pic")
local screenWidth, screenHeight = gpu.getResolution()

-- Чистишь вилочкой экран
gpu.setBackground(0x0)
gpu.fill(1, 1, 160, 50, " ")

local path, x, y = "/", 1, 1
-- Пробегаешься по списку дочерених файлов в указанной директории
for file in filesystem.list(path) do
  -- Рисуешь иконку, если это директория
  if filesystem.isDirectory(path .. file) then
    image.draw(x, y, directoryImage)
  end
  
  -- Рисуешь текст с именем файла под иконкой
  gpu.setForeground(0xFFFFFF)
  gpu.set(x, y + 5, file)
  
  -- Определяешь координаты следующей иконки на экране
  x = x + 10
  -- Смещаешься ниже, если иконка зашла слишком "вправо"
  if x + 10 >= screenWidth then
    x, y = 1, y + 5
  end
end

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
24.03.2019 в 10:04, ECS сказал:

@MisterFunny01, так бы и сказал сразу. Ну чо, берешь либо готовую либу для отрисовки пикч, либо пишешь собственную. Далее создаешь пикчи либо в готовом пикчредакторе, либо в самописном, либо вообще по пиксельному массиву, создаваемому напрямую в коде. Далее получаешь список файлов из директории, фильтруешь расширения, и рисуешь пикчи. В чем проблема-то?

 

Данный пример для готовой либы. Как обстоят дела конкретно в твоем случае - я хз.


local filesystem = require("filesystem")
local image = require("image")
local gpu = require("component").gpu

local directoryImage = image.load("/Papka.pic")
local screenWidth, screenHeight = gpu.getResolution()

-- Чистишь вилочкой экран
gpu.setBackground(0x0)
gpu.fill(1, 1, 160, 50, " ")

local path, x, y = "/", 1, 1
-- Пробегаешься по списку дочерених файлов в указанной директории
for file in filesystem.list(path) do
  -- Рисуешь иконку, если это директория
  if filesystem.isDirectory(path .. file) then
    image.draw(x, y, directoryImage)
  end
  
  -- Рисуешь текст с именем файла под иконкой
  gpu.setForeground(0xFFFFFF)
  gpu.set(x, y + 5, file)
  
  -- Определяешь координаты следующей иконки на экране
  x = x + 10
  -- Смещаешься ниже, если иконка зашла слишком "вправо"
  if x + 10 >= screenWidth then
    x, y = 1, y + 5
  end
end

 

Спасибо!

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...