FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Gestion d'un système client-serveur.
Rotation de texte Emptypar Klaus Hier à 23:59

» PANORAMIC V 1
Rotation de texte Emptypar Marc Hier à 23:21

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Rotation de texte Emptypar Marc Hier à 12:14

» @Jack
Rotation de texte Emptypar Jack Mar 30 Avr 2024 - 20:40

» trop de fichiers en cours
Rotation de texte Emptypar papydall Lun 29 Avr 2024 - 23:39

» Une calculatrice en une ligne de programme
Rotation de texte Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Rotation de texte Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
Rotation de texte Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
Rotation de texte Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Rotation de texte Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Dessine-moi une galaxie
Rotation de texte Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Rotation de texte Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Rotation de texte Emptypar papydall Dim 21 Avr 2024 - 23:30

» 2D_fill_color(résolu)
Rotation de texte Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
Rotation de texte Emptypar leclode Mer 17 Avr 2024 - 11:07

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment : -21%
LEGO® Icons 10329 Les Plantes Miniatures, ...
Voir le deal
39.59 €

 

 Rotation de texte

Aller en bas 
5 participants
AuteurMessage
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Rotation de texte Empty
MessageSujet: Rotation de texte   Rotation de texte EmptyDim 9 Oct 2011 - 20:34

Rotation de texte Rotext
En application des nouvelles commandes TEXT_WIDTH et TEXT_HEIGHT, la possibilité d'afficher des textes en appliquant une rotation de 90, 180 ou 270 degrés:
Code:
DIM pf, t$, x%, y%, x1%, y1%, l%, h%, al%, i%, j%, r%, g%, b%, ob, fnt$, sz%
LABEL Rotatext

PICTURE 1: WIDTH 1, 570: HEIGHT 1, 420
COLOR 1, 255,255,128
t$ = "AbCdEf": fnt$ = "Times New Roman": sz% = 30
ob = 1: ' objet destinataire
x% = 10: y% = 20: al% = 0: GOSUB Rotatext: DISPLAY: ' affichage normal
x% = 10: y% = 100: al% = 90: GOSUB Rotatext: DISPLAY
x% = 80: y% = 100: al% = 180: GOSUB Rotatext: DISPLAY
x% = 250: y% = 100: al% = 270: GOSUB Rotatext
END

Rotatext:
' ob objet destinataire
' fnt$, sz% fonte et taille
' x%, y% coordonnées du coin supérieur gauche arrivée
' l%, h% dimensions du texte, en pixels
' al% angle de rotation, = 90, 180 ou 270 degrés
IF al% = 0
    PRINT_TARGET_IS ob
    FONT_NAME ob, fnt$: FONT_SIZE ob, sz%: FONT_BOLD ob
    PRINT_LOCATE x%, y%: PRINT t$
ELSE
    pf = NUMBER_OBJECTS+1
    PICTURE pf: TOP pf, -200: WIDTH pf, 1000: HEIGHT pf, 100
    PRINT_TARGET_IS pf
    FONT_NAME pf, fnt$: FONT_SIZE pf, sz%: FONT_BOLD pf
    l% = TEXT_WIDTH(t$,pf)+4: h% = TEXT_HEIGHT(t$,pf)
    PRINT t$
    2D_TARGET_IS ob
    FOR j% = 0 TO h%-1
        FOR i% = 0 TO l%-1
            r% = COLOR_PIXEL_RED(pf,i%,j%)
            g% = COLOR_PIXEL_GREEN(pf,i%,j%)
            b% = COLOR_PIXEL_BLUE(pf,i%,j%)
            2D_PEN_COLOR r%,g%,b%
            SELECT al%
                CASE 90: 2D_POINT x%+j%,y%+l%-i%
                CASE 180: 2D_POINT x%+l%-i%,y%+h%-j%
                CASE 270: 2D_POINT x%+h%-j%,y%+i%
            END_SELECT
        NEXT i%
    NEXT j%
    PRINT_TARGET_IS 0: 2D_TARGET_IS 0
    DELETE pf
END_IF
RETURN
Mais pas encore la possibilité d'effectuer des rotations d'un angle quelconque, ça c'est une autre paire de manches !
Je suis parti du texte horizontal normal, mais celui-ci il faudrait évidemment l'afficher dans un picture caché avant de le recopier dans le sens désiré à l'aide du sous-programme. Edit: c'est fait

C'est un peu long, puisque ça se fait par transfert pixel par pixel, et bien entendu plus la police est grande et plus c'est long.

@cosmos comme tu peux le voir j'ai été obligé de rajouter 4 pixels à la largeur donnée par Text_Width pour récupérer tout le texte, et je ne sais toujours pas pourquoi...


Dernière édition par JL35 le Dim 9 Oct 2011 - 21:27, édité 3 fois
Revenir en haut Aller en bas
659_minifly




Nombre de messages : 590
Age : 75
Localisation : Valenciennes Nord
Date d'inscription : 29/04/2010

Rotation de texte Empty
MessageSujet: Re: Rotation de texte   Rotation de texte EmptyDim 9 Oct 2011 - 21:03

Bonsoir JL35

Tu trouvera ici dans le programme comment on peut calculer la rotation d'un sprite d'un angle quelconque.

Mais ça laisse des trous dans le dessin.

J'ai bien aisseyé d'autres méthodes mais elles toutes des trous mais un temps plus long de calcul.

https://panoramic.1fr1.net/t1651-extracteur-de-sprites-ameliore


Code:

file_load picture01%,File_nom$
 
for i%=1 to Spr_X-1
  for j%=1 to Spr_X-1
 
      tbl_red(i%,j%)=Color_pixel_red(picture01%,x1+j%,y1+i%)
        tbl_green(i%,j%)=Color_pixel_Green(picture01%,x1+j%,y1+i%)
        tbl_blue(i%,j%)=Color_pixel_blue(picture01%,x1+j%,y1+i%)
 
 
    next J%
next i%
 
      width  picture02%, Spr_X
      height picture02%, Spr_Y
      Top    picture02%,400
      left  picture02%,(300-spr_x)/2

 ' rotation=(2*3.1415926535897932*90)/360
 
  ' 3.1415926535897932
 
    rotation=val(text$(Angle_rot))
   
  rotation= rotation*PI2/360
 
  if checked(Check_MX)=1
  Mir_X=-1
  else
  Mir_X=1
  end_if
  if checked(Check_MY)=1
  Mir_Y=-1
  else
  Mir_Y=1
  end_if

 
  xctr = Spr_X / 2
  yctr = Spr_y / 2
 
    Rotation_Sin=sin(rotation)
    Rotation_cos=cos(rotation)

     
      color picture02%,0,0,0
     
    2d_target_is picture02%
 
image File_Num

  for y=1 to Spr_Y

        for x=1 to Spr_X
 
  2d_pen_color tbl_red(y,x),tbl_green(y,x),tbl_blue(y,x)
 

' Nouveau point du sprite apres rotation

  '  m = int((x - xctr) * Rotation_cos - (y - yctr) * Rotation_Sin + xctr +.5 )*Mir_X
  '  n = int((x - xctr) * Rotation_Sin + (y - yctr) * Rotation_cos + yctr +.5 )*Mir_Y
   
   
        ' ********* voici la formule de la rotation d'image *********
            m= (xctr+(x-xctr) * Rotation_cos +( Y-xctr)* Rotation_Sin)*Mir_X
            n= (xctr-(x-xctr) * Rotation_Sin + (Y-xctr)* Rotation_cos)*Mir_Y
        ' *****************************************************
   

Si ça peut te rendre service
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Rotation de texte Empty
MessageSujet: Re: Rotation de texte   Rotation de texte EmptyDim 9 Oct 2011 - 21:19

Merci minifly, je vais regarder ça, mais s'il y a des trous... ?

J'ai déjà modifié mon code pour faire quelque chose d'un peu plus universel.
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Rotation de texte Empty
MessageSujet: Re: Rotation de texte   Rotation de texte EmptyDim 9 Oct 2011 - 22:40

Joli et bien fait Smile Vivement que les librairies nous permettent de le réutiliser facilement Smile
Revenir en haut Aller en bas
Invité
Invité




Rotation de texte Empty
MessageSujet: Re: Rotation de texte   Rotation de texte EmptyDim 9 Oct 2011 - 22:47

Je ne sais pas.
J'ai un vielle écran et une résolution de 1280 X 1024. Comme je sais que tu as une résolution très importante par rapport au mien, peut-être que le problème vient de là.
Je ne peux rien dire de mieux. En ce domaine je suis nul. Mais je confirme que pour moi, les pixels supplémentaires n'ont pas de raison d'être. En tout cas il n'y a pas de chevauchement.

Si des fois tu as encore en ta possession un autre type d'écran, peut-être que tu peux vérifier.

En voyant l'image du haut, cela me rappel qu'avec GFA basic sur mon atari, pour pouvoir afficher du texte graphique avec des dessins, j'avais fait une fonte que je plaçais pixel par pixel, dans la direction que je souhaitais! Comme dirait quelqu'un d'autre: sniff sniff ! Que c'est vieux maintenant.

Je suis en train de penser que je suis sous XP SP3, et toi sous seven je crois.
Je me souviens que tu as mis une image il y a quelque temps d'un texte grossi pour montrer le pourtour du texte, et que tu faisais le teste sur trois couleurs.

Apparemment le lissage du texte est différent entre un XP et SEVEN .
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Rotation de texte Empty
MessageSujet: Re: Rotation de texte   Rotation de texte EmptyDim 9 Oct 2011 - 23:17

Rotation de texte 0rotpic
ici une rotation de 30 degrés
Pour la rotation d'images, j'ai mis mon propre algorithme, assez simple (j'ai eu la flemme d'étudier le tien minifly), il y a aussi des trous mais je pense que c'est inévitable si on ne fait pas quelque chose de beaucoup plus puissant, là c'est presque acceptable...
Évidemment si c'est un multiple de 90 degrés, là c'est parfait.
Code:
DIM x,y,l,h,x1,y1,i%,j%,al,a,pi,r,g,b,xd,yd
LABEL Rotopic

pi = 4*ATN(1)

PICTURE 1: WIDTH 1, 580: HEIGHT 1, 400
COLOR 1, 255,255,128: 2D_TARGET_IS 1
2D_FILL_COLOR 0,255,0
x = 10: y = 100: l = 50: h = 75
2D_RECTANGLE x,y,x+l-1,y+h-1
PRINT_TARGET_IS 1: FONT_NAME 1, "Arial": FONT_SIZE 1, 30: FONT_BOLD 1
PRINT_LOCATE x+10,y+15: PRINT "A": DISPLAY
x1 = 120: y1 = 100: al = 30
GOSUB Rotopic

END

Rotopic:
a = al*pi/180: ' angle de rotation, en radians
FOR j% = 0 TO h
    yd = y1+j%*COS(a)
    FOR i% = 0 TO l
        r = COLOR_PIXEL_RED(1,x+i%,y+j%)
        g = COLOR_PIXEL_GREEN(1,x+i%,y+j%)
        b = COLOR_PIXEL_BLUE(1,x+i%,y+j%)
        2D_PEN_COLOR r,g,b
        xd = x1+i%*COS(a)
        2D_POINT xd+j%*SIN(a), yd-i%*SIN(a)
    NEXT i%
    DISPLAY
NEXT j%
RETURN
d'ailleurs c'est marrant de voir la répartion des trous, c'est assez joli comme motif !: Rotation de texte Trous

@cosmos, je ne vois pas bien pourquoi le problème viendrait de la résolution de l'écran, un pixel est un pixel sur tous les écrans...
en tout cas j'en conclus que c'est chez moi qu'il y a une réaction anormale.
Le Basic d'autrefois, c'était la galère pour l'affichage pixel par pixel, il ne fallait pas être pressé, et il valait mieux faire ça en assembleur. Maintenant à côté c'est le grand confort pour la rapidité.
Revenir en haut Aller en bas
Invité
Invité




Rotation de texte Empty
MessageSujet: Re: Rotation de texte   Rotation de texte EmptyDim 9 Oct 2011 - 23:52

Le problème ne vient surement pas de la résolution, mais peut-être du lissage. Il doit-être plus détaillé avec seven. Peut-être, tu es meilleur juge que moi, vu que tu as un ordi que je n'ai pas.

Ta mission, si tu l'acceptes, est de mettre un texte autour d'un cercle!
Attention, ce message, peut-être s'auto-détruira dans cinq secondes! Smile
Revenir en haut Aller en bas
Invité
Invité




Rotation de texte Empty
MessageSujet: Re: Rotation de texte   Rotation de texte EmptyLun 10 Oct 2011 - 13:10

Je viens de faire une vérification. J'ai mis l'écran en noir pour mieux voir.
Rotation de texte Crantextedcal

J'ai rajouté 1 pixel, et effectivement il y a un problème entre le r et s, r et e, o et j.
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Rotation de texte Empty
MessageSujet: Re: Rotation de texte   Rotation de texte EmptyLun 10 Oct 2011 - 13:54

Bonjour cosmos et les autres,
Ça me rassure si toi aussi tu constates de petites anomalies dans la longueur rendue, ce n'est pas dramatique et on peut s'en accommoder, c'est juste un peu étonnant.

Le texte autour d'un cercle, ça ne doit pas être trop difficile, en partant de ce que j'ai fait plus haut, juste un peu de géométrie élémentaire, mais bon, comme je n'en vois pas trop l'utilité je décline ton invitation pour le moment Very Happy
Ce qui serait plus coton c'est l'alignement sur une courbe quelconque ! mais pas infaisable sans doute.
Revenir en haut Aller en bas
659_minifly




Nombre de messages : 590
Age : 75
Localisation : Valenciennes Nord
Date d'inscription : 29/04/2010

Rotation de texte Empty
MessageSujet: Re: Rotation de texte   Rotation de texte EmptyLun 10 Oct 2011 - 18:47

J'ai pensé a utiliser Irfanview pour pivoter une image c'est quand même plus net.
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Rotation de texte Empty
MessageSujet: Re: Rotation de texte   Rotation de texte EmptyLun 10 Oct 2011 - 21:29

Effectivement, j'y avais pensé aussi, là le résultat est parfait, pas de trous. Mais à ma connaissance on ne peut pas faire de rotation à la demande (un angle donné) en ligne de commande, seulement 90 degrés à droite ou à gauche.
Et même si on le fait directement sous IrfanView, l'image résultante n'est pas très utilisable: c'est un rectangle où les zones libérées par la rotation sont remplies en noir.

Alors ça ne répond pas à la demande, faire une rotation par programme en Panoramic.
Revenir en haut Aller en bas
659_minifly




Nombre de messages : 590
Age : 75
Localisation : Valenciennes Nord
Date d'inscription : 29/04/2010

Rotation de texte Empty
MessageSujet: Re: Rotation de texte   Rotation de texte EmptyLun 10 Oct 2011 - 22:08

Dans la denière version on peut donner un angle quelconque
Revenir en haut Aller en bas
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

Rotation de texte Empty
MessageSujet: Re: Rotation de texte   Rotation de texte EmptyLun 10 Oct 2011 - 22:36

Hallo an Jicehel, Cosmos70, JL35, 659 minifly
das ist ein extrem gute Diskusion. Ich habe ein sehr gutes Gefühl
das wir um Ziel kommen. Jack könnte helfen, er hat die Befehle progrmmiert.

Weiter so, es ist für mich sehr hilfreich, in meinem Programm ein wenig
leben ein zu hauchen.

Severin bounce


Hello Jicehel, Cosmos70, JL35, 659 minifly
This is an extremely good Talkshow. I have a very good feeling
we come to the target. Jack could help, he has progrmmiert the commands.

Keep it up, it is very helpful to me in my program a little
add life to live.

Severin bounce


Bonjour Jicehel, Cosmos70, JL35, 659 minifly
C'est une très bonne Talkshow. J'ai un très bon feeling
nous arrivons à la cible. Jack pourrait aider, il a progrmmiert les commandes.

Keep it up, il est très utile pour moi dans mon programme un peu plus
ajouter de la vie à vivre.

Severin bounce



Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Rotation de texte Empty
MessageSujet: Re: Rotation de texte   Rotation de texte EmptyLun 10 Oct 2011 - 22:38

@minifly
En ligne de commande, tu es sûr ?
J'ai la dernière version (4.30) et je ne vois pas ça... en direct dans le programme, oui, depuis longtemps.

Bonsoir Severin
Revenir en haut Aller en bas
659_minifly




Nombre de messages : 590
Age : 75
Localisation : Valenciennes Nord
Date d'inscription : 29/04/2010

Rotation de texte Empty
MessageSujet: Re: Rotation de texte   Rotation de texte EmptyLun 10 Oct 2011 - 23:19

Bonsoir severin
oui dans le help lignes de cde
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Rotation de texte Empty
MessageSujet: Re: Rotation de texte   Rotation de texte EmptyLun 10 Oct 2011 - 23:25

Il y a bien /rotate_r et /rotate_l pour 90°
J'ai bien vu /jpg_rotate=(options) mais je ne vois pas du tout dans les options où on peut préciser un angle de rotation...
Revenir en haut Aller en bas
659_minifly




Nombre de messages : 590
Age : 75
Localisation : Valenciennes Nord
Date d'inscription : 29/04/2010

Rotation de texte Empty
MessageSujet: Re: Rotation de texte   Rotation de texte EmptyLun 10 Oct 2011 - 23:29

je viens de regarder et dans le menu
image il y a rotate_r
rotate_l
fine / rotation ou on peut donner n'importe quel angle de rotation et changer la couleur du fond
Revenir en haut Aller en bas
659_minifly




Nombre de messages : 590
Age : 75
Localisation : Valenciennes Nord
Date d'inscription : 29/04/2010

Rotation de texte Empty
MessageSujet: Re: Rotation de texte   Rotation de texte EmptyLun 10 Oct 2011 - 23:58

Tu as raison je ne vois pas la rotation dans ligne de commande
Revenir en haut Aller en bas
jpcr

jpcr


Nombre de messages : 276
Age : 57
Localisation : Val de Marne (94)
Date d'inscription : 06/05/2011

Rotation de texte Empty
MessageSujet: Re: Rotation de texte   Rotation de texte EmptyMar 11 Oct 2011 - 13:56

d’ailleurs ça manque aussi sérieusement dans les sprites : sprite_rotate 90 serait super pour changer de direction par exemple...
Revenir en haut Aller en bas
http://jeanpierre.creis.free.fr/Panoramic/Panoramic.html
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Rotation de texte Empty
MessageSujet: Re: Rotation de texte   Rotation de texte EmptyMar 11 Oct 2011 - 15:00

@minifly (et jpcr) si tu cherches un programme pour faire des rotations (entre mille autres choses) en ligne de commande: ImageMagick ( http://www.imagemagick.org/script/binary-releases.php fin de page pour les téléchargements).
J'ai essayé, ça marche très bien, et très rapide.
Et gratuit évidemment.


Dernière édition par JL35 le Mar 11 Oct 2011 - 15:06, édité 2 fois
Revenir en haut Aller en bas
jpcr

jpcr


Nombre de messages : 276
Age : 57
Localisation : Val de Marne (94)
Date d'inscription : 06/05/2011

Rotation de texte Empty
MessageSujet: Re: Rotation de texte   Rotation de texte EmptyMar 11 Oct 2011 - 15:04

merci a toi JL35 mais je voudrai des rotations dynamiques par programme.
Revenir en haut Aller en bas
http://jeanpierre.creis.free.fr/Panoramic/Panoramic.html
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Rotation de texte Empty
MessageSujet: Re: Rotation de texte   Rotation de texte EmptyMar 11 Oct 2011 - 15:07

pour toi, oui, c'est autre chose, là tu dépends de Jack !
Revenir en haut Aller en bas
Contenu sponsorisé





Rotation de texte Empty
MessageSujet: Re: Rotation de texte   Rotation de texte Empty

Revenir en haut Aller en bas
 
Rotation de texte
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Rotation de bitmap (bis)
» Rotation Algorithm n°2
» Rotation Algorithm n°3
» Rotation d'un rectangle
» Rotation de bitmap

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: