|
размер фото, определённый размер фото |
|
|
|
  |
Ответов
cirus |
3.9.2020, 14:57
|

         
Elder
Сообщений: 3.480
Регистрация: 18.8.2014 Группа: Пользователи Наличность: 26715
Пользователь №: 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
|
|
|
|
Сообщений в этой теме
portos размер фото 2.9.2020, 23:35 cirus
Какой формат картинок? 100 чего? Пикселей по шири... 3.9.2020, 1:20 portos
Какой формат картинок? 100 чего? Пикселей по шири... 3.9.2020, 1:45 cirus Какой формат у картинок? 3.9.2020, 2:07 portos
Какой формат у картинок?
jpg ,например : image_... 3.9.2020, 2:09 cirus --lua
local ffi = require('ffi')
l... 3.9.2020, 5:16 portos спасибо за помощь ,но это совсем не то . lua не ис... 3.9.2020, 5:47 Fors1k а такое возможно на нормальном uopilot ?
Нет, поэ... 3.9.2020, 12:46 portos можно на lua сделать:
в папке D\3 находятся ... 3.9.2020, 14:41 Fors1k
в папке D\3 находятся папки с фото
нужно ост... 3.9.2020, 23:25 portos не работает ,пишет - найдено файлов 0
работает есл... 3.9.2020, 20:19 portos выбивает ошибку
Найдено файлов: 42
D:\4... 4.9.2020, 0:27 Fors1k
выбивает ошибку
Скачайте здесь архив и распакуйт... 4.9.2020, 0:35 portos поэтому и не использую lua,много проблем с ним... ... 4.9.2020, 0:44 Fors1k
поэтому и не использую lua,много проблем с ним.
... 4.9.2020, 0:52 portos нет ,не работает . когда ты 6 лет работаешь с одн... 4.9.2020, 1:00 Fors1k
когда ты 6 лет работаешь с одним языком ,и потом... 4.9.2020, 1:18 cirus
Всего-то надо убрать "norecursion" в di... 4.9.2020, 1:43 portos так работает супер, спасибо вам за помощь
насчёт п... 4.9.2020, 2:09 portos как изменить скрипт ,что бы в папке оставались тол... 19.12.2020, 3:19 Fors1k
скрипт оставляет фото правильного размера ,но и о... 19.12.2020, 4:00  portos
Этот скрипт оставляет только файлы jpg, которые б... 19.12.2020, 4:11 portos не работает 19.12.2020, 5:53 cirus
Добавить в конец скрипта:
local resultarray, coun... 19.12.2020, 11:01 portos работает ,огромное спасибо ... С наступающими праз... 19.12.2020, 15:09 portos подскажите , сделал два скрипта
1. берёт фото с па... 21.12.2020, 20:41 Fors1k portos, какая разрядность у вашей операционной сис... 21.12.2020, 21:14 portos
portos, какая разрядность у вашей операционной си... 21.12.2020, 21:34
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|