Перейти к публикации
  • 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

 

Спасибо!

 

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


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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

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

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

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

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

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


×