Здравствуйте, гость ( Вход | Регистрация )

2 страниц V  1 2 >  
Ответить в эту темуОткрыть новую тему
> размер фото, определённый размер фото
portos
сообщение 2.9.2020, 23:35
Сообщение #1


****

Apprentice
Сообщений: 181
Регистрация: 6.12.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 17.157



есть скрипт

script
Код
set $path1 "D:\3"  // папка, в которой папки с картинками
set $path2 "D:\2"

dir (%result $path2)     // найти все файлы в папке
for #i 1 size(%result)
    filedelete (%result[#i 1])    // удалить
end_for

dir (%result2 $path1 "*.*" norecursion)   // найти все папки

set $path3 %result2 [1 1]
dir (%result3 $path3)     // найти все файлы в папке

set %a[1 1] $path1
set %a[1 2] "\"
set %a[1 3] %result2[1 3]
set %a[1 4] "\"
set %a[1 5] %result3[1 3]%result3[1 4]

set %a[2 1] $path2
set %a[2 2] "\"
set %a[2 3] %result3[1 3] %result3[1 4]

set $s1 %a[1]
set $s2 %a[2]

filecopy ($s1 $s2)      // скопировать файл
filedelete (%result3[1 1])  // удалить файл
if  size(%result3) = 1 or size(%result3) = 0  // если в папке был 1 файл или папка пустая, то удалить папку
    init_arr %a (3) $path1 \ %result2[1 3]
    DirRemove (%a[3])  // удалить папку
end_if

можно ли сделать так ,чтобы брало фото опредедёного размера (от 100 например),а потом удаляло папку

---
См. правило 1.18


Сообщение отредактировал Fors1k - 3.9.2020, 1:43
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 3.9.2020, 1:20
Сообщение #2


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26689
Пользователь №: 16.971
Возраст: 29



Цитата
чтобы брало фото опредедёного размера (от 100 например)

Какой формат картинок? 100 чего? Пикселей по ширине, высоте?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
portos
сообщение 3.9.2020, 1:45
Сообщение #3


****

Apprentice
Сообщений: 181
Регистрация: 6.12.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 17.157



Цитата(cirus @ 2.9.2020, 23:20) *

Какой формат картинок? 100 чего? Пикселей по ширине, высоте?


пикселей ,но можно и по другим параметрам , главное что бы маленькие отсеевать ,а нормальные использовать
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 3.9.2020, 2:07
Сообщение #4


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26689
Пользователь №: 16.971
Возраст: 29



Какой формат у картинок?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
portos
сообщение 3.9.2020, 2:09
Сообщение #5


****

Apprentice
Сообщений: 181
Регистрация: 6.12.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 17.157



Цитата(cirus @ 3.9.2020, 0:07) *

Какой формат у картинок?


jpg ,например : image_062.jpg - использовать ,image_004.jpg -удалять


Эскизы прикрепленных изображений
Прикрепленное изображение

Прикрепленные изображения
Прикрепленное изображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 3.9.2020, 5:16
Сообщение #6


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26689
Пользователь №: 16.971
Возраст: 29



Узнать ширину и высоту изображения
Код
--lua
local ffi = require('ffi')
local gdip = ffi.load('Gdiplus.dll')
local CP_ACP = 0

ffi.cdef[[
typedef unsigned int  UINT;
typedef unsigned long DWORD;
typedef struct {UINT GdiplusVersion; int DebugEventCallback; bool SuppressBackgroundThread; bool SuppressExternalCodecs;} GdiplusStartupInput, *pGdiplusStartupInput;

int GdiplusStartup(int *token, pGdiplusStartupInput GdiplusStartupInput, int *output);
int GdiplusShutdown(int token);
int GdipDisposeImage(int image);
int GdipLoadImageFromFile(const wchar_t *filename, int *image);
int GdipGetImageWidth(int image, UINT *width);
int GdipGetImageHeight(int image, UINT *height);
int MultiByteToWideChar(UINT CodePage, DWORD dwFlags, const char *lpMultiByteStr, int cbMultiByte, wchar_t *lpWideCharStr, int cchWideChar);
]]

function image_size(path)
    local buf = ffi.new('wchar_t[?]', #path+1)
    local StartupInput = ffi.new('GdiplusStartupInput', {1, 0, 0, 0})
    local token, image, w, h = ffi.new('int[1]'), ffi.new('int[1]'), ffi.new('int[1]'), ffi.new('int[1]')
    ffi.C.MultiByteToWideChar(CP_ACP, 0, path, #path, buf, ffi.sizeof(buf))
    gdip.GdiplusStartup(token, StartupInput, nil)
    gdip.GdipLoadImageFromFile(buf, image)
    gdip.GdipGetImageWidth(image[0], w)
    gdip.GdipGetImageHeight(image[0], h)
    gdip.GdipDisposeImage(image[0])
    gdip.GdiplusShutdown(token[0])
    return w[0], h[0]
end

log "clear" log "mode compact"

local path = [[C:\image_062.jpg]]  -- путь к картинке (возможные форматы: BMP, JPG, TIF, GIF и PNG)
local width, height = image_size( path )
log(width, height)  -- размеры картинки

if width > 100 and height > 100 then
    log('Размеры картинки больше 100')
else
   log('Размеры картинки меньше 100')
end
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
portos
сообщение 3.9.2020, 5:47
Сообщение #7


****

Apprentice
Сообщений: 181
Регистрация: 6.12.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 17.157



спасибо за помощь ,но это совсем не то . lua не использую
а такое возможно на нормальном uopilot ?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 3.9.2020, 12:46
Сообщение #8


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2401
Пользователь №: 18.746



Цитата(portos @ 3.9.2020, 5:47) *
а такое возможно на нормальном uopilot ?

Нет, поэтому его больше и не используют.
Посмотрите, здесь есть вся информация как начать писать скрипты. Обращайтесь, если появятся вопросы.

Опишите полностью задачу пошагово, и тогда вам смогут помочь с написанием скрипта.
Нужно просто скопировать все картинки из "D:\3" в "D:\2", которые больше 100х100px?

Узнать ширину и высоту изображения:
Код
--lua
require"luaposh";PScode('return',{[[#}
#
$image = [Drawing.Image]::FromFile("C:\myImg.jpg")
log $image.size; $image.Dispose()
#
]]})


Сообщение отредактировал Fors1k - 25.9.2020, 12:22


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
portos
сообщение 3.9.2020, 14:41
Сообщение #9


****

Apprentice
Сообщений: 181
Регистрация: 6.12.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 17.157



можно на lua сделать:

в папке D\3 находятся папки с фото,нужно оставить только файлы jpg которые больше 100х100 пикс
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 3.9.2020, 14:57
Сообщение #10


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26689
Пользователь №: 16.971
Возраст: 29



Цитата
в папке D\3 находятся папки с фото,нужно оставить только файлы jpg которые больше 100х100 пикс

код
Код
--lua
local ffi = require('ffi')
local gdip = ffi.load('Gdiplus.dll')
local CP_ACP = 0

ffi.cdef[[
typedef unsigned int  UINT;
typedef unsigned long DWORD;
typedef struct {UINT GdiplusVersion; int DebugEventCallback; bool SuppressBackgroundThread; bool SuppressExternalCodecs;} GdiplusStartupInput, *pGdiplusStartupInput;

bool DeleteFileA(const char *lpFileName);
int GdiplusStartup(int *token, pGdiplusStartupInput GdiplusStartupInput, int *output);
int GdiplusShutdown(int token);
int GdipDisposeImage(int image);
int GdipLoadImageFromFile(const wchar_t *filename, int *image);
int GdipGetImageWidth(int image, UINT *width);
int GdipGetImageHeight(int image, UINT *height);
int MultiByteToWideChar(UINT CodePage, DWORD dwFlags, const char *lpMultiByteStr, int cbMultiByte, wchar_t *lpWideCharStr, int cchWideChar);
]]

function image_size(path)
    local buf = ffi.new('wchar_t[?]', #path+1)
    local StartupInput = ffi.new('GdiplusStartupInput', {1, 0, 0, 0})
    local token, image, w, h = ffi.new('int[1]'), ffi.new('int[1]'), ffi.new('int[1]'), ffi.new('int[1]')
    ffi.C.MultiByteToWideChar(CP_ACP, 0, path, #path, buf, ffi.sizeof(buf))
    gdip.GdiplusStartup(token, StartupInput, nil)
    gdip.GdipLoadImageFromFile(buf, image)
    gdip.GdipGetImageWidth(image[0], w)
    gdip.GdipGetImageHeight(image[0], h)
    gdip.GdipDisposeImage(image[0])
    gdip.GdiplusShutdown(token[0])
    return w[0], h[0]
end

log 'clear' log 'mode compact'

local path = [[D:\3]]      -- путь к папке

local resultarray, count = dir (path, "*.bmp;*.jpg", "norecursion")  -- получить список всех файлов в формате bmp и jpg
log ("Найдено файлов: " .. count)
if count then      -- если файлы найдены
    for i=1, #resultarray do
        local width, height = image_size( resultarray[i][1] )
        log(resultarray[i][1].. '\tШирина: ' .. tostring(width) .. '\t'.. 'Высота: ' .. tostring(height))  -- размеры картинки
        if width < 100 and height < 100 then   -- если ширина и высота меньше 100
            ffi.C.DeleteFileA( resultarray[i][1] )  -- удалить файл
        end
    end
end
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
portos
сообщение 3.9.2020, 20:19
Сообщение #11


****

Apprentice
Сообщений: 181
Регистрация: 6.12.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 17.157



не работает ,пишет - найдено файлов 0
работает если в папке только фото ,но если в папке D\3 папки с фото пишет - найдено файлов 0
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 3.9.2020, 23:25
Сообщение #12


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2401
Пользователь №: 18.746



Цитата(portos @ 3.9.2020, 14:41) *

в папке D\3 находятся папки с фото
нужно оставить только файлы jpg которые больше 100х100 пикс

Код
--lua
require"luaposh";PScode('void',{[[#}
#
$path = 'D:\3'
function Check-PicSize($p){#}
    $img = [Drawing.Image]::FromFile( $p.fullname )
    if($img.width -gt 100 -and $img.Height -gt 100)
    {$img.Dispose(); $true}else{$img.Dispose(); $false}
}
gci $path -file -rec|%{#}
    if(!($_.Extension -eq '.jpg' -and (Check-PicSize $_)))
    {ri $_.FullName}
}
#
]]})


Сообщение отредактировал Fors1k - 19.12.2020, 4:14


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
portos
сообщение 4.9.2020, 0:27
Сообщение #13


****

Apprentice
Сообщений: 181
Регистрация: 6.12.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 17.157



выбивает ошибку

code

Найдено файлов: 42
D:\4\getTheme.jpg Ширина: 1730 Высота: 320
D:\4\image.jpg Ширина: 64 Высота: 64
D:\4\image_001.jpg Ширина: 64 Высота: 64
D:\4\image_002.jpg Ширина: 64 Высота: 64
D:\4\image_003.jpg Ширина: 64 Высота: 64
D:\4\image_004.jpg Ширина: 64 Высота: 64
D:\4\image_005.jpg Ширина: 64 Высота: 64
D:\4\image_006.jpg Ширина: 64 Высота: 64
D:\4\image_007.jpg Ширина: 64 Высота: 64
D:\4\image_008.jpg Ширина: 64 Высота: 64
D:\4\image_009.jpg Ширина: 64 Высота: 64
D:\4\image_010.jpg Ширина: 64 Высота: 64
D:\4\image_011.jpg Ширина: 64 Высота: 64
D:\4\image_012.jpg Ширина: 64 Высота: 64
D:\4\image_013.jpg Ширина: 64 Высота: 64
D:\4\image_014.jpg Ширина: 64 Высота: 64
D:\4\image_015.jpg Ширина: 64 Высота: 64
D:\4\image_016.jpg Ширина: 64 Высота: 64
D:\4\image_017.jpg Ширина: 64 Высота: 64
D:\4\image_018.jpg Ширина: 64 Высота: 64
D:\4\image_019.jpg Ширина: 64 Высота: 64
D:\4\image_020.jpg Ширина: 64 Высота: 64
D:\4\image_021.jpg Ширина: 64 Высота: 64
D:\4\image_022.jpg Ширина: 64 Высота: 64
D:\4\image_023.jpg Ширина: 64 Высота: 64
D:\4\image_024.jpg Ширина: 64 Высота: 64
D:\4\image_025.jpg Ширина: 64 Высота: 64
D:\4\image_026.jpg Ширина: 229 Высота: 229
D:\4\image_027.jpg Ширина: 229 Высота: 229
D:\4\image_028.jpg Ширина: 229 Высота: 229
D:\4\image_029.jpg Ширина: 229 Высота: 229
D:\4\image_030.jpg Ширина: 229 Высота: 229
D:\4\image_031.jpg Ширина: 229 Высота: 229
D:\4\image_032.jpg Ширина: 229 Высота: 229
D:\4\image_033.jpg Ширина: 229 Высота: 229
D:\4\image_034.jpg Ширина: 229 Высота: 229
D:\4\image_035.jpg Ширина: 229 Высота: 229
D:\4\image_036.jpg Ширина: 229 Высота: 229
D:\4\image_037.jpg Ширина: 229 Высота: 229
D:\4\image_038.jpg Ширина: 229 Высота: 229
D:\4\image_039.jpg Ширина: 229 Высота: 229
D:\4\image_040.jpg Ширина: 229 Высота: 229
a runtime error.
2: module 'luaposh' not found:
no field package.preload['luaposh']
no file '.\luaposh.lua'
no file 'C:\Users\portos\Downloads\lua\luaposh.lua'
no file 'C:\Users\portos\Downloads\lua\luaposh\init.lua'
no file
a runtime error.
2: module 'luaposh' not found:
no field package.preload['luaposh']
no file '.\luaposh.lua'
no file 'C:\Users\portos\Downloads\lua\luaposh.lua'
no file 'C:\Users\portos\Downloads\lua\luaposh\init.lua'
no file
a runtime error.
2: module 'luaposh' not found:
no field package.preload['luaposh']
no file '.\luaposh.lua'
no file 'C:\Users\portos\Downloads\lua\luaposh.lua'
no file 'C:\Users\portos\Downloads\lua\luaposh\init.lua'
no file
a runtime error.
2: module 'luaposh' not found:
no field package.preload['luaposh']
no file '.\luaposh.lua'
no file 'C:\Users\portos\Downloads\lua\luaposh.lua'
no file 'C:\Users\portos\Downloads\lua\luaposh\init.lua'
no file
a runtime error.
2: module 'luaposh' not found:
no field package.preload['luaposh']
no file '.\luaposh.lua'
no file 'C:\Users\portos\Downloads\lua\luaposh.lua'
no file 'C:\Users\portos\Downloads\lua\luaposh\init.lua'
no file


Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 4.9.2020, 0:35
Сообщение #14


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2401
Пользователь №: 18.746



Цитата(portos @ 4.9.2020, 0:27) *

выбивает ошибку

Скачайте здесь архив и распакуйте.

Сообщение отредактировал Fors1k - 4.9.2020, 0:36


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
portos
сообщение 4.9.2020, 0:44
Сообщение #15


****

Apprentice
Сообщений: 181
Регистрация: 6.12.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 17.157



поэтому и не использую lua,много проблем с ним... спасибо за помощь
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 4.9.2020, 0:52
Сообщение #16


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2401
Пользователь №: 18.746



Цитата(portos @ 4.9.2020, 0:44) *

поэтому и не использую lua,много проблем с ним.

Это называется не проблемы с языком, а знакомство с чем-то новым.
Цитата(portos @ 4.9.2020, 0:44) *

спасибо за помощь

Скрипт заработал?


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
portos
сообщение 4.9.2020, 1:00
Сообщение #17


****

Apprentice
Сообщений: 181
Регистрация: 6.12.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 17.157



нет ,не работает . когда ты 6 лет работаешь с одним языком ,и потом тебе предлагают альтернативу ,тяжело перестроиться . надо сделать на сайте отдельные темы по uopilot и lua . провести опрос на сайте ,не думаю что все перешли на lua. но спасибо вам парни ,всегда помогаете с вопросами ,это лучшее качество сайта
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 4.9.2020, 1:18
Сообщение #18


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2401
Пользователь №: 18.746



Цитата(portos @ 4.9.2020, 1:00) *

когда ты 6 лет работаешь с одним языком ,и потом тебе предлагают альтернативу

Когда-то люди ездили на лошадях, а потом пересели на автомобили. Альтернатива и шаг вперед - разные вещи)
Цитата(portos @ 4.9.2020, 1:00) *

нет ,не работает.

Какая теперь ошибка?


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 4.9.2020, 1:43
Сообщение #19


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26689
Пользователь №: 16.971
Возраст: 29



Цитата
работает если в папке только фото ,но если в папке D\3 папки с фото пишет - найдено файлов 0

Всего-то надо убрать "norecursion" в dir.
код
Код
--lua
local ffi = require('ffi')
local gdip = ffi.load('Gdiplus.dll')
local CP_ACP = 0

ffi.cdef[[
typedef unsigned int  UINT;
typedef unsigned long DWORD;
typedef struct {UINT GdiplusVersion; int DebugEventCallback; bool SuppressBackgroundThread; bool SuppressExternalCodecs;} GdiplusStartupInput, *pGdiplusStartupInput;

bool DeleteFileA(const char *lpFileName);
int GdiplusStartup(int *token, pGdiplusStartupInput GdiplusStartupInput, int *output);
int GdiplusShutdown(int token);
int GdipDisposeImage(int image);
int GdipLoadImageFromFile(const wchar_t *filename, int *image);
int GdipGetImageWidth(int image, UINT *width);
int GdipGetImageHeight(int image, UINT *height);
int MultiByteToWideChar(UINT CodePage, DWORD dwFlags, const char *lpMultiByteStr, int cbMultiByte, wchar_t *lpWideCharStr, int cchWideChar);
]]

function image_size(path)
    local buf = ffi.new('wchar_t[?]', #path+1)
    local StartupInput = ffi.new('GdiplusStartupInput', {1, 0, 0, 0})
    local token, image, w, h = ffi.new('int[1]'), ffi.new('int[1]'), ffi.new('int[1]'), ffi.new('int[1]')
    ffi.C.MultiByteToWideChar(CP_ACP, 0, path, #path, buf, ffi.sizeof(buf))
    gdip.GdiplusStartup(token, StartupInput, nil)
    gdip.GdipLoadImageFromFile(buf, image)
    gdip.GdipGetImageWidth(image[0], w)
    gdip.GdipGetImageHeight(image[0], h)
    gdip.GdipDisposeImage(image[0])
    gdip.GdiplusShutdown(token[0])
    return w[0], h[0]
end

log 'clear' log 'mode compact'

local path = [[D:\3]]      -- путь к папке

local resultarray, count = dir (path, "*.bmp;*.jpg")  -- получить список всех файлов в формате bmp и jpg
log ("Найдено файлов: " .. count)
if count then      -- если файлы найдены
    for i=1, #resultarray do
        local width, height = image_size( resultarray[i][1] )
        log(resultarray[i][1].. '\tШирина: ' .. tostring(width) .. '\t'.. 'Высота: ' .. tostring(height))  -- размеры картинки
        if width < 100 and height < 100 then   -- если ширина и высота меньше 100
            ffi.C.DeleteFileA( resultarray[i][1] )  -- удалить файл
        end
    end
end

Цитата
поэтому и не использую lua,много проблем с ним

Это с языком пилота много проблем, поэтому и был переход на луа.

Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
portos
сообщение 4.9.2020, 2:09
Сообщение #20


****

Apprentice
Сообщений: 181
Регистрация: 6.12.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 17.157



так работает супер, спасибо вам за помощь
насчёт пилота ,не соглашусь ,6 лет работают скрипты на нём ,вообще проблем нет.
пилот облегчил мою хизнь на 50 % , не обижайте его ))
спасибо парни ,так работет отлично
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

2 страниц V  1 2 >
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 16.4.2024, 23:23
Designed by Nickostyle