new Plugin

You think you have found a bug ? You've got a suggestion to modify PhotoFiltre ? /
Ĉu vi opinias vi trovis malbonadĵon ? Ĉu vi havas sugeston por modifi PhotoFiltre ?

Modérateur : Modérateurs

Marisa
Nouveau(elle)|Nouveau|Nouvelle
Nouveau(elle)|Nouveau|Nouvelle
Messages : 46
Inscription : 27 déc. 2021 10:07

new Plugin

Message par Marisa »

Could this be a code for text layers? Only that not having a program to make the DLL and then in PFL who tries or tests it?



--------------------------------------------------------------------------



library LevelStyles;

uses
Windows, SysUtils;

const
// Nome del plugin
PluginName = 'Stili di Livello';
// Versione del plugin
PluginVersion = '1.0';

type
TIntegerArray = array of Integer;

// Struttura per gli effetti di livello
type
TLevelStyle = record
Shadow: Boolean;
Stroke: Boolean;
Glow: Boolean;
Gradient: Boolean;
Opacity: Integer;
end;

var
Effect: TLevelStyle;

// Funzione di inizializzazione del plugin
function GetPluginInfo: PChar; stdcall;
begin
Result := PluginName;
end;

// Funzione principale del plugin per applicare lo stile di livello
procedure ApplyLevelStyle(Bitmap: Pointer; Width, Height: Integer; var Style: TLevelStyle); stdcall;
var
x, y: Integer;
Pixel: PByte;
begin
// Controllo sugli effetti da applicare
if Style.Shadow then
// Esempio di codice per un'ombra (da implementare)

if Style.Stroke then
// Esempio di codice per un contorno (da implementare)

if Style.Glow then
// Esempio di codice per un alone (da implementare)

if Style.Gradient then
// Esempio di codice per un gradiente (da implementare)

// Applicazione del livello di opacità (trasparenza)
Pixel := Bitmap;
for y := 0 to Height - 1 do
begin
for x := 0 to Width - 1 do
begin
Pixel^ := (Pixel^ * Style.Opacity) div 255;
Inc(Pixel, 3); // Avanza al prossimo pixel (24-bit: R, G, B)
end;
end;
end;

// Funzione per salvare il file in formato PFI
procedure SaveToPFI(const FileName: PChar; Bitmap: Pointer; Width, Height: Integer); stdcall;
var
FileHandle: THandle;
BytesWritten: DWORD;
begin
FileHandle := CreateFile(FileName, GENERIC_WRITE, 0, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
try
if FileHandle <> INVALID_HANDLE_VALUE then
begin
WriteFile(FileHandle, Bitmap^, Width * Height * 3, BytesWritten, nil);
end;
finally
CloseHandle(FileHandle);
end;
end;

exports
GetPluginInfo,
ApplyLevelStyle,
SaveToPFI;

begin
end.
Marisa
Nouveau(elle)|Nouveau|Nouvelle
Nouveau(elle)|Nouveau|Nouvelle
Messages : 46
Inscription : 27 déc. 2021 10:07

Re: new Plugin

Message par Marisa »

error: 0xc000012f
Antonio
Administrateur(trice)|Administrateur|Administratrice
Administrateur(trice)|Administrateur|Administratrice
Messages : 12835
Inscription : 28 oct. 2003 22:49

Re: new Plugin

Message par Antonio »

ce code vient d'où ? c'est pas pour un plugin PhotoFiltre
Marisa
Nouveau(elle)|Nouveau|Nouvelle
Nouveau(elle)|Nouveau|Nouvelle
Messages : 46
Inscription : 27 déc. 2021 10:07

Re: new Plugin

Message par Marisa »

Ah here! I tried, can you give me some tips?
Antonio
Administrateur(trice)|Administrateur|Administratrice
Administrateur(trice)|Administrateur|Administratrice
Messages : 12835
Inscription : 28 oct. 2003 22:49

Re: new Plugin

Message par Antonio »

Il y a le kit de développement ici en bas de page mais on ne peut pas faire de plugin sur les calques texte, PhotoFiltre ne gère pas ça :

https://photofiltre-studio.com/plugins/plugins-en.htm
Marisa
Nouveau(elle)|Nouveau|Nouvelle
Nouveau(elle)|Nouveau|Nouvelle
Messages : 46
Inscription : 27 déc. 2021 10:07

Re: new Plugin

Message par Marisa »

A little help on how to get started?
Marisa
Nouveau(elle)|Nouveau|Nouvelle
Nouveau(elle)|Nouveau|Nouvelle
Messages : 46
Inscription : 27 déc. 2021 10:07

Re: new Plugin

Message par Marisa »

What if you make a small program to create plugins? with a base?
Antonio
Administrateur(trice)|Administrateur|Administratrice
Administrateur(trice)|Administrateur|Administratrice
Messages : 12835
Inscription : 28 oct. 2003 22:49

Re: new Plugin

Message par Antonio »

Un programme qui fait un plugin pour un autre programme...qui va lui même faire un autre programme...
J'ai vu ça dans le film Terminator et ça c'est mal terminé :wink: (enfin pour les humais)
Marisa
Nouveau(elle)|Nouveau|Nouvelle
Nouveau(elle)|Nouveau|Nouvelle
Messages : 46
Inscription : 27 déc. 2021 10:07

Re: new Plugin

Message par Marisa »

And I'd really like to have a plugin in photofiltre that creates layer styles :(
Antonio
Administrateur(trice)|Administrateur|Administratrice
Administrateur(trice)|Administrateur|Administratrice
Messages : 12835
Inscription : 28 oct. 2003 22:49

Re: new Plugin

Message par Antonio »

Je comprend bien ce que vous voulez et sur le principe je suis un peu d'accord, plus d'effets de texte serait le bienvenu. Mais comme je vous l'ai déjà dit, ce n'est pas possible car le format PFI n’accepte pas de nouveau type de calque. Il faut forcément le modifier et ensuite il n'y aura plus de compatibilité avec les versions Studio X et 7 qui sont encore très utilisées, car le fichier ne s'ouvrira pas et génèrera des erreurs.

C'est pour ça que c'est mieux d'enregistrer les effets de texte dans un calque de type Bitmap qui lui est compatible avec toutes les versions.
Le nouveau plugin CircularText dans PF11 fonctionne comme ça, il génère un calque Bitmap et non Texte, comme ça on peu l'ouvrir avec Studio X et 7
Marisa
Nouveau(elle)|Nouveau|Nouvelle
Nouveau(elle)|Nouveau|Nouvelle
Messages : 46
Inscription : 27 déc. 2021 10:07

Re: new Plugin

Message par Marisa »

it's fine as you say, if we can do it it would be optimal
Marisa
Nouveau(elle)|Nouveau|Nouvelle
Nouveau(elle)|Nouveau|Nouvelle
Messages : 46
Inscription : 27 déc. 2021 10:07

Re: new Plugin

Message par Marisa »

I don't understand if I have to do the Dll to see the plugin in photofiltre or not :
Antonio
Administrateur(trice)|Administrateur|Administratrice
Administrateur(trice)|Administrateur|Administratrice
Messages : 12835
Inscription : 28 oct. 2003 22:49

Re: new Plugin

Message par Antonio »

Oui il faut une dll et il faut la renommer en pfl dans le dossier Plugins. Mais si vous n'êtes pas développeur je pense que c'est pratiquement impossible car il faut pas mal de bases
Marisa
Nouveau(elle)|Nouveau|Nouvelle
Nouveau(elle)|Nouveau|Nouvelle
Messages : 46
Inscription : 27 déc. 2021 10:07

Re: new Plugin

Message par Marisa »

Isn't there an easy way to create the DLL? or simply if I send you the plugin code and create the dll and see if it works? let me know thank you
Antonio
Administrateur(trice)|Administrateur|Administratrice
Administrateur(trice)|Administrateur|Administratrice
Messages : 12835
Inscription : 28 oct. 2003 22:49

Re: new Plugin

Message par Antonio »

Non, il faut créer la dll et la tester avant vous même. Utilisez C++ ou Delphi pour le développement. Je ne fait rien, le plugin est 100% créé par son auteur.

Désolé d'insister mais ce n'est pas possible si vous n'êtes pas un développeur confirmé sinon tout le monde en ferait !