2017-10-20 7 views
0

J'utilise cette ligne pour redimensionner une image et recadrer si nécessaire pour obtenir la taille spécifique, mais l'image sort tendue.Redimensionnement de recadrage fluide image image

{f:uri.image(image: newsItem.falMediaPreviews.1, width:420c, height:160c)} 

Comment redimensionner et rogner l'image?

+0

Etes-vous sûr que l'image est agrandie par le viewhelper ou est-ce qu'un code css peut être la raison? De ce que je vois, vous devriez obtenir une image de 420x160 pixels exactement recadrée de tout ce qui est égal ou supérieur à 420x160px. Si vous utilisez des images plus petites, vous risquez d'obtenir des images floues à cause de la mise à l'échelle, mais vous ne devriez pas vous retrouver avec des images étirées. Btw: quelle version de Typo3 utilisez-vous? –

+0

@ FabianSchöner J'ai inspecté l'image, elle est certainement étirée par le viewhelper. J'utilise TYPO3 7.6.11 – user500665

+0

quelles sont les dimensions de votre entrée d'image? –

Répondre

1

si vous gardez la structure du code d'origine Nouvelles en place lors de l'appel falMediaPreviews, au lieu d'appeler directement dans votre lien.

Par exemple:

<f:if condition="{newsItem.falMediaPreviews}"> 
    <f:then> 
     <f:alias map="{mediaElement: newsItem.falMediaPreviews.1}"> 
      <f:if condition="{mediaElement.originalResource.type} == 2"> 
       {f:uri.image(src:mediaElement.uid, treatIdAsReference:1, width:'420c', height: '160c', absolute: '1')} 
      </f:if> 
     </f:alias> 
    </f:then> 
</f:if> 

Je ne sais pas si vous avez besoin de tout cela, mais voir si la sortie est toujours disformed.

+0

Merci, cela a fonctionné. Savez-vous pourquoi ce serait? – user500665

+0

Pas en détail, mais je me suis souvenu d'avoir eu le même problème une fois, et ça l'a arrangé pour moi ;-) – Scopestyle

-1

... Peut-être

{f:uri.image(image: newsItem.falMediaPreviews.1, minWidth:'420', minHeight:'160', maxWidth:'420', maxHeight:'160', width:'420c', height:'160c')} 
+0

J'ai essayé ce que vous avez suggéré, mais pas de changement. – user500665

+0

Ceci ne fournit pas de réponse à la question. Une fois que vous avez suffisamment [réputation] (https://stackoverflow.com/help/whats-reputation) vous pourrez [commenter n'importe quel article] (https://stackoverflow.com/help/privileges/comment); Au lieu de cela, [fournissez des réponses qui ne nécessitent pas de précisions de la part du demandeur] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- je-fais-à la place). - [De l'avis] (/ review/low-quality-posts/18705688) –