Премини към съдържанието
15 години Kaldata.com – време е да почерпим! Прочети още... ×
A.com

Програма за прехвърляне на едно изображение като алфа канал на друго изображение

Препоръчан отговор


Здравейте!

  Пиша в този раздел, защото не знам на какъв точно програмен език може да се реши проблема ми(най-вероятно на всички :) ). Сега да обясня...

Нуждая се от "програма", която да прави следното:

 

1) подавам й път до изображение, което се намира някъде из твърдите дискове. Например

D:MyTestImagestestImage.png 

 

testImage.png няма алфа канал

 

2)"програмката" проверява всички останали файлове с разширение .png, който се намират в D:MyTestImages и ако намери файл с име testImage_miauuAlpha.png(също няма алфа канал) се случва следното:

 

2.1) testImage_miauuAlpha.png се прехвърля като алфа канал на testImage.png

2.2) testImage_miauuAlpha.png се изтрива

2.3) testImage.png трябва да се презапише, но вече с добавения алфа канал. Ако презаписването е проблем, то testImage.png трябва да се изтрие и да се създаде нов файл със същото има(testImage.png), но с добавения алфа канал.

 

Имената на файловете ще са различни, но задължително файла, който ще се използва като алфа канал ще има суфикс _miauuAlpha.

 

Файловите формати, който трябва да се поддържат са png, tga, tiff.

 

Въпросната програмка(ще я нарека imgAsAlpha) ще бъде стартирана от скрипт в 3ds Max, по следния начин:

 

ShellLaunch "imgAsAlpha.exe" @"D:MyTestImagestestImage.png"

 

ShellLaunch си е стандартната команда и с нейна помощ се стартират разни приложения, като им се задава поне по един параметър. Например:

ShellLaunch "iexplorer.exe" @"c:tempreport.html"

ще отвори файла report.html в Internet Explorer,

 

Цялата тази работа си я върша и чрез скрипт, който съм си написал, но всичко става много бавно. Ако двете изображения са с размери 2160х4196 рх, времето за прехвърляне на _miauuAlpha изображението в алфа канала на основното изображение е около 25 секунди, ако се ползва пиксел по пиксел прехвърляне, и около 7 секунди ако се ползва вградена в 3ds Max команда, което пак си е много. Та цялата тази работа е за да се намали скоростта до около 1-2 секунди. Колкото по-малко(бързо), толкова по-добре.

 

От тук може да се изтеглят примерни изображения. В архива има testImage.png/tga, testImage_miauuAlpha.png/tga, result.png/tga.

 

Програмката ще се ползва само в Windows OS - XP, Vista, 7, 8.

Желателно е да не се нуждае от инсталиране на допълнителен софтуер, но ако е наложително... що помисля върху въпроса.

 

И накрая(надявам се да не е в разрез с някое правилата на форума) - готов съм да възнаградя автора на подобна програма със скромните 25€.

 

 

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Регистрирайте се или влезете в профила си за да коментирате

Трябва да имате регистрация за да може да коментирате това

Регистрирайте се

Създайте нова регистрация в нашия форум. Лесно е!

Нова регистрация

Вход

Имате регистрация? Влезте от тук.

Вход

×

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.