PB transparence non voulue

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: PB transparence non voulue

Message par falsam »

A compiler en mode threadé, falsam, d'ou ton erreur
Oops oui ça fonctionne mieux ainsi. Ceci dit, visuellement je préfère mon mode de décomposition du spectre RGB. Mais je conçois que le résultat obtenu par Demivec soit conforme à ta demande.

kenavo ar c'hentañ
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
JohnJohnsonSHERMAN
Messages : 648
Inscription : dim. 13/déc./2015 11:05
Localisation : Allez, cherche...
Contact :

Re: PB transparence non voulue

Message par JohnJohnsonSHERMAN »

En fait les deux modes rendent approximativement le même résultat en terme de superposition de couleurs, la différence réside juste dans le déplacement des filtres, il me suffira donc de réajuster un peu ton code falsam, a priori donc pas grand chose...
Ah aussi, je viens de remarquer que quand on utilise une grande image dans le code de Demivec, il a parfois des artéfacts bizarres, des flashes de couleurs ou des bandes sur l'image au cours de l'animation... Cela n'arrive qu'avec de grandes images, et quand l'animation dure assez longtemps, et je ne sais pas pourquoi ca fait ca... Remarque c'est pas moche... Ca rajoute un effet de "brouillage" :P

Kenavo ar vec'hall falsam :D
"Le bug se situe entre la chaise et le clavier"
Votre expert national en bogage et segfaults.

CPU : AMD A8 Quad core - RAM 8Gb - HDD 2To
  • Windows 10 x64 - PB 5.61 x64
  • Linux Ubuntu 16.04 LTS x64 (dual boot) - PB pas encore réinstallé
Avatar de l’utilisateur
JohnJohnsonSHERMAN
Messages : 648
Inscription : dim. 13/déc./2015 11:05
Localisation : Allez, cherche...
Contact :

Re: PB transparence non voulue

Message par JohnJohnsonSHERMAN »

Allez, parceque je suis content que tout ca marche bien, un autre petit effet en bonus :
Image
A utiliser avec le Barbouille de Dobro, ou autre logiciel graphique, pour l'effet crayonné.
Ca me rappelle certaines intros de séries (genre Un gars une fille ou... merde je sais plus, mais y'en a d'autres), et ca fait assez sympa je trouve...
L'étape suivante : crééer une vidéo automatiquement à partir de ce qui est affiché sur la fenêtre, et voila un éditeur de stopmotion... 8)

Code : Tout sélectionner

UsePNGImageDecoder()
UseJPEGImageDecoder()

Enumeration Objects
  #Window
  #Canvas
  #Txt_RandomOrder
  #Txt_RandomPos
  #Check_RandomOrder
  #Check_RandomPos
  #Btn_Submit
EndEnumeration

Enumeration Constants
  #MainWdth = 800
  #MainHght = 600
  #Delay = 100
  #RandomDelta = 5
EndEnumeration

Files$ = OpenFileRequester("Choisissez des images...","","*.*",0,#PB_Requester_MultiSelection)

NewList Files.s()
NewList Images()

AddElement(Files())
Files() = Files$

While Files$
  Files$ = NextSelectedFileName()
  AddElement(Files())
  Files() = Files$
Wend

LastElement(Files())
DeleteElement(Files())

ForEach Files()
  Debug Files()
  AddElement(Images())
  Images() = LoadImage(#PB_Any, Files())
Next
Debug "Terminé !!"

Procedure Random2(Min, Max)
      ProcedureReturn Random(Max - Min) + Min
  EndProcedure


OpenWindow(#Window, 0, 0, #MainWdth, #MainHght, "Effet étrange n°31.5-HDK-THRM - @SH452/SH_root/serv.us.sher", #PB_Window_ScreenCentered | #PB_Window_SystemMenu)
CanvasGadget(#Canvas, 0, 0, #MainWdth, #MainHght)

AddWindowTimer(#Window, #Delay, #Delay)

Repeat
  event = WaitWindowEvent(100)
  If event = #PB_Event_Timer And EventTimer() = #Delay
    StartDrawing(CanvasOutput(#Canvas))
    DrawImage(ImageID(Images()),Random2(-#RandomDelta,#RandomDelta),Random2(-#RandomDelta,#RandomDelta))
    StopDrawing()
    If Not NextElement(Images())
      FirstElement(Images())
    EndIf
  EndIf
Until event = #PB_Event_CloseWindow
"Le bug se situe entre la chaise et le clavier"
Votre expert national en bogage et segfaults.

CPU : AMD A8 Quad core - RAM 8Gb - HDD 2To
  • Windows 10 x64 - PB 5.61 x64
  • Linux Ubuntu 16.04 LTS x64 (dual boot) - PB pas encore réinstallé
Demivec
Messages : 91
Inscription : sam. 18/sept./2010 18:13

Re: PB transparence non voulue

Message par Demivec »

JohnJohnsonSHERMAN a écrit :[*]Plus proche de l'effet d'origine, le filtre vert restant fixe
J'ai mis a jour mon code un peu.


Modifié lignes 92-113 à être:

Code : Tout sélectionner

 For i= 0 To Decal Step 2
    StartDrawing(CanvasOutput(#Canvas))
    Box(0,0,800,800,0)
    DrawImage(ImageID(#Image_green),#ImgX,#ImgY)
    DrawingMode(#PB_2DDrawing_CustomFilter)
    CustomFilterCallback(@DifferenceCustomCallback())
    DrawImage(ImageID(#Image_red),#ImgX+i,#ImgY)
    DrawImage(ImageID(#Image_blue),#ImgX-i,#ImgY)
    StopDrawing()
    Delay(1)
  Next
  For i = Decal To 0 Step -1
    StartDrawing(CanvasOutput(#Canvas))
    Box(0,0,800,800,0)
    DrawImage(ImageID(#Image_green),#ImgX,#ImgY)
    DrawingMode(#PB_2DDrawing_CustomFilter)
    CustomFilterCallback(@DifferenceCustomCallback())
    DrawImage(ImageID(#Image_red),#ImgX+i,#ImgY)
    DrawImage(ImageID(#Image_blue),#ImgX-i,#ImgY)
    StopDrawing()
    Delay(1)
  Next
Répondre