MCPcopy Index your code
hub / github.com/cshum/imagor / NewImage

Method NewImage

processor/vipsprocessor/processor.go:414–438  ·  view source on GitHub ↗

NewImage creates new Image from imagor.Blob

(ctx context.Context, blob *imagor.Blob, n, page int, dpi int)

Source from the content-addressed store, hash-verified

412
413// NewImage creates new Image from imagor.Blob
414func (v *Processor) NewImage(ctx context.Context, blob *imagor.Blob, n, page int, dpi int) (*vips.Image, error) {
415 var options = &vips.LoadOptions{}
416 if dpi > 0 {
417 options.Dpi = dpi
418 }
419 options.Unlimited = v.Unlimited && unlimitedSupportedByLoader(blob)
420 if isMultiPage(blob, n, page) {
421 applyMultiPageOptions(options, n, page)
422 img, err := v.CheckResolution(v.newImageFromBlob(ctx, blob, options))
423 if err != nil {
424 return nil, WrapErr(err)
425 }
426 // reload image to restrict frames loaded
427 if n > 1 || page > 1 {
428 n, page = recalculateImage(img, n, page)
429 return v.NewImage(ctx, blob, -n, -page, dpi)
430 }
431 return img, nil
432 }
433 img, err := v.CheckResolution(v.newImageFromBlob(ctx, blob, options))
434 if err != nil {
435 return nil, WrapErr(err)
436 }
437 return img, nil
438}
439
440// Thumbnail handles thumbnail operation
441func (v *Processor) Thumbnail(

Callers 1

loadAndProcessMethod · 0.95

Implementers 4

cacherProcessorimagor_test.go
Processorprocessor/vipsprocessor/processor.go
testProcessorserver/server_test.go
slowTestProcessorserver/server_test.go

Calls 7

CheckResolutionMethod · 0.95
newImageFromBlobMethod · 0.95
isMultiPageFunction · 0.85
applyMultiPageOptionsFunction · 0.85
WrapErrFunction · 0.85
recalculateImageFunction · 0.85

Tested by

no test coverage detected