perf: improve image resizing

This commit is contained in:
Gordon Hayes
2022-08-10 14:36:39 +02:00
parent 6afde872e5
commit 55bb828bd1
3 changed files with 35 additions and 10 deletions
@@ -100,6 +100,7 @@ class StreamFileAttachment extends StreamAttachmentWidget {
borderRadius: BorderRadius.circular(8),
);
// TODO: Improve image memory. This is using the full image instead of a smaller version (thumbnail)
Widget _getFileTypeImage(BuildContext context) {
if (isImageAttachment) {
return Material(
@@ -71,16 +71,20 @@ class StreamImageAttachment extends StreamAttachmentWidget {
var imageUri = Uri.parse(imageUrl);
if (imageUri.host.endsWith('stream-io-cdn.com') &&
imageUri.queryParameters['h'] == '*' &&
imageUri.queryParameters['w'] == '*' &&
imageUri.queryParameters['crop'] == '*' &&
imageUri.queryParameters['resize'] == '*') {
(imageUri.queryParameters['h'] == null ||
imageUri.queryParameters['h'] == '*') &&
(imageUri.queryParameters['w'] == null ||
imageUri.queryParameters['w'] == '*') &&
(imageUri.queryParameters['crop'] == null ||
imageUri.queryParameters['crop'] == '*') &&
(imageUri.queryParameters['resize'] == null ||
imageUri.queryParameters['resize'] == '*')) {
imageUri = imageUri.replace(queryParameters: {
...imageUri.queryParameters,
'h': '400',
'h': '400', // TODO: Are these sizes optimal? Consider web/desktop
'w': '400',
'crop': 'center',
'resize': 'crop',
'resize': 'clip',
});
} else if (imageUri.host.endsWith('stream-cloud-uploads.imgix.net')) {
imageUri = imageUri.replace(queryParameters: {