изменение размера URL-адреса в формате jpg из Amazon Cloud для размещения на моем веб-портале Claris pro 19

#image-resizing

#изменение размера изображения

Вопрос:

Я использую Claris Pro 19. Я хочу загружать файлы jpg из нашего Amazon Cloud, у меня есть URL-адрес, который нужно связать с ним, но у меня возникли проблемы с изменением размера фотографии на веб-портале в Filemaker Claris. фотографии получаются огромными. Можете ли вы помочь..

Ответ №1:

Filemaker фактически не может изменять размер изображений изначально (если только вы не можете написать функции javascript или PHP и вызвать их через webviewer или вставить из шага скрипта URL).

Лучшим способом было бы использовать плагин. Пример для плагина MonkeyBreadSoftware будет выглядеть следующим образом:

 #Allow user abort / Set error capture
#-
Set Error Capture [ On ]
Allow User Abort [ Off ]
#-
Set Variable [ $image; Value:Get ( ScriptParameter ) ]
#-
#Load image
Set Variable [ $img; Value:MBS("GMImage.NewFromContainer"; $image) ]
If [ MBS("Iserror") ]
    If [ Get ( LayoutName ) = "NarocilniceLineItems" ]
        Close Window [ Current Window ]
    End If
    Show Custom Dialog [ Message: "error” ]
    Exit Script [ ]
End If
#Scale?
Set Variable [ $ScaleWidth; Value:GetAsNumber(640) ]
Set Variable [ $ScaleHeight; Value:GetAsNumber(640) ]
Set Variable [ $DoScale; Value:0 ]
If [ $ScaleWidth > 0 ]
    If [ $ScaleHeight > 0 ]
        Set Variable [ $Scale; Value:GetAsText($ScaleWidth) amp; "x" amp; GetAsText($ScaleHeight)]
    Else
        Set Variable [ $Scale; Value:GetAsText($ScaleWidth)]
    End If
    Set Variable [ $r; Value:MBS( "GMImage.Scale"; $img; $Scale ) ]
End If
#Clear profiles
Set Variable [ $r; Value:MBS( "GMImage.SetICCColorProfile"; $img; "" ) ]
Set Variable [ $r; Value:MBS( "GMImage.Setprofile"; $img; "IPTC"; "" ) ]
Set Variable [ $r; Value:MBS( "GMImage.Setprofile"; $img; "ICM"; "" ) ]
#query size
Set Variable [ $dest_width; Value:MBS( "GMImage.GetWidth"; $img) ]
Set Variable [ $dest_height; Value:MBS( "GMImage.GetHeight"; $img) ]
#For JPEG make a copy without alpha channel
Set Variable [ $secondImage; Value:MBS( "GMImage.New"; $dest_width amp; "x" amp; $dest_height; "white" ) ]
#6 = RGB without alpha
Set Variable [ $r; Value:MBS( "GMImage.SetType"; $secondImage; 6 )]
Set Variable [ $r; Value:MBS( "GMImage.CompositeXY"; $secondImage; $img; 0; 0; 1 ) ]
#JPEG with RGB
#70% quality
Set Variable [ $r; Value:MBS( "GMImage.SetQuality"; $secondImage; 70 ) ]
Set Variable [ $final_image; Value:$secondImage ]
#Cleanup
Set Variable [ $r; Value:MBS("GMImage.Destroy"; $img) ]
Exit Script [ Result: $final_image ]
  

Это печатный образец скрипта, который я использую с упомянутым плагином для уменьшения размера изображений. Это должно работать до тех пор, пока изображения сохраняются в контейнере и передаются в скрипт в качестве параметра.
Надеюсь, это вам немного поможет.