function ResizeJPG(filename_with_path, outputfilename_with_path, aspectratio, width, height, quality)

  local Identifier, Identifier2, squaresize, NewWidth, NewHeight, Height, Width, Retval, filetype
  filetype = GetFileExtension(filename_with_path)
  if filetype == ".png" then
    Identifier=reaper.JS_LICE_LoadPNG(filename_with_path)
  else
    Identifier=reaper.JS_LICE_LoadJPG(filename_with_path)
  end
  Width=reaper.JS_LICE_GetWidth(Identifier)
  Height=reaper.JS_LICE_GetHeight(Identifier)

  if aspectratio==true then

      squaresize=height
      NewHeight=squaresize
      NewWidth=((100/Height)*Width)
      NewWidth=NewWidth/100
      NewWidth=math.floor(squaresize*NewWidth)
    --end
  else
    NewHeight=height
    NewWidth=width
  end

  Identifier2=reaper.JS_LICE_CreateBitmap(true, NewWidth, NewHeight)
  reaper.JS_LICE_ScaledBlit(Identifier2, 0, 0, NewWidth, NewHeight, Identifier, 0, 0, Width, Height, 1, "COPY")
  Retval=reaper.JS_LICE_WriteJPG(outputfilename_with_path, Identifier2, quality)
  reaper.JS_LICE_DestroyBitmap(Identifier)
  reaper.JS_LICE_DestroyBitmap(Identifier2)
  if Retval==false then ultraschall.AddErrorMessage("ResizeJPG", "outputfilename_with_path", "Can't write outputfile", -9) return false end
end

(habe die aus der API rausgehoben und für meine Zwecke etwas umgebaut, ja der Name ist jetzt falsch :wink: )