本文整理汇总了Golang中github.com/disintegration/imaging.Open函数的典型用法代码示例。如果您正苦于以下问题:Golang Open函数的具体用法?Golang Open怎么用?Golang Open使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Open函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: main
func main() {
fmt.Println("ImgNet loading...")
netSize := []int{3, 3}
net := NewImgNet(netSize[0], netSize[1])
imgOrig, err := imaging.Open("lena-colour.png")
if err != nil {
panic(err)
}
imgFiltered, err := imaging.Open("lena-colourdiff.png")
if err != nil {
panic(err)
}
targetImg, err := imaging.Open("lena-colour.png")
if err != nil {
panic(err)
}
fmt.Println("Teaching network.")
for randcount := 0; randcount < 1000000; randcount++ {
x := rand.Intn(imgOrig.Bounds().Dx()-netSize[0]) - netSize[0]/2
y := rand.Intn(imgOrig.Bounds().Dy()-netSize[1]) - netSize[1]/2
net.FF(image.Pt(x, y), &imgOrig)
net.BP(image.Pt(x, y), &imgFiltered)
}
fmt.Println("Filtering image.")
result := net.Filter(targetImg)
imaging.Save(result, "output.png")
}
开发者ID:avesanen,项目名称:neuro,代码行数:33,代码来源:main.go
示例2: openImageWhenReady
func openImageWhenReady(file string) (image.Image, error) {
// Retry opening the image until err != image.ErrFormat
// or the next retry would take over a minute.
// FIXME
var img image.Image
var err error
var retry int
var t time.Duration
for {
t = time.Duration(1000 * (retry * 2))
time.Sleep(time.Millisecond * t)
img, err = imaging.Open(file)
if err == image.ErrFormat {
retry = retry + 1
if retry*2 > 60 {
break
}
continue
}
break
}
return img, err
}
开发者ID:ComSecNinja,项目名称:manikyr,代码行数:26,代码来源:utils.go
示例3: ProcessAvatar
func ProcessAvatar(user *User) error {
origImg, err := imaging.Open(GetAvatarPath(user, "o"))
if err != nil {
return err
}
src := imaging.Clone(origImg)
for _, sz := range AvatarSizes {
var dst image.Image
switch sz.Type {
case "thumbnail":
dst = imaging.Thumbnail(src, sz.Width, sz.Height, imaging.Lanczos)
case "fit":
dst = imaging.Fit(src, sz.Width, sz.Height, imaging.Lanczos)
}
err := imaging.Save(dst, GetAvatarPath(user, sz.Suffix))
if err != nil {
return err
}
}
return nil
}
开发者ID:postfix,项目名称:quiet-1,代码行数:26,代码来源:processing.go
示例4: thumbFile
func thumbFile(filePath string) {
src, _ := imaging.Open(filePath)
var dst *image.NRGBA
dst = imaging.Thumbnail(src, 48, 48, imaging.CatmullRom)
imaging.Save(dst, filePath)
}
开发者ID:zeuson,项目名称:gorevel,代码行数:7,代码来源:application.go
示例5: openImage
func openImage(fileName string) image.Image {
img, err := imaging.Open(testDir + fileName)
if err != nil {
log.Fatalln(err)
}
return img
}
开发者ID:umahmood,项目名称:perceptive,代码行数:7,代码来源:perceptive_test.go
示例6: editImage
func (p *program) editImage(rot Rot, folder string, list []string) error {
for _, item := range list {
filename := filepath.Join(config.FileRoot, folder, item)
fi, err := os.Stat(filename)
if err != nil {
return err
}
fullImage, err := imaging.Open(filename)
if err != nil {
return err
}
switch rot {
case RotLeft:
fullImage = imaging.Rotate90(fullImage)
case RotRight:
fullImage = imaging.Rotate270(fullImage)
case RotFlip:
fullImage = imaging.Rotate180(fullImage)
default:
return fmt.Errorf("Unknown rot value: %d", rot)
}
err = imaging.Save(fullImage, filename)
if err != nil {
return err
}
tm := fi.ModTime()
err = os.Chtimes(filename, tm, tm)
if err != nil {
return err
}
}
return p.refreshCache(folder, list)
}
开发者ID:rdterner,项目名称:photoview,代码行数:34,代码来源:editImage.go
示例7: ProcessPhoto
func ProcessPhoto(photo *Photo) error {
origImg, err := imaging.Open(GetPhotoPath(photo, "o"))
if err != nil {
return err
}
src := imaging.Clone(origImg)
for _, sz := range PhotoSizes {
var dst image.Image
switch sz.Type {
case "thumbnail":
dst = imaging.Thumbnail(src, sz.Width, sz.Height, imaging.Lanczos)
case "fit":
dst = imaging.Fit(src, sz.Width, sz.Height, imaging.Lanczos)
}
err := imaging.Save(dst, GetPhotoPath(photo, sz.Suffix))
if err != nil {
return err
}
}
return nil
}
开发者ID:postfix,项目名称:quiet-1,代码行数:26,代码来源:processing.go
示例8: go_get_image
func (ths *ImageTagServer) go_get_image(w http.ResponseWriter, r *http.Request) {
path := r.URL.Query().Get("path")
path = ths.imgRoot + path
path = strings.Replace(path, "..", "", -1)
info, infoErr := os.Stat(path)
if infoErr != nil {
http.Error(w, infoErr.Error(), http.StatusInternalServerError)
return
}
if info.IsDir() == true {
http.Error(w, "No an image", http.StatusBadRequest)
return
}
img, err := imaging.Open(path)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
w.Header().Add("Content-Type", "image/jpeg")
err = imaging.Encode(w, img, imaging.JPEG)
if err != nil {
http.Error(w, "Failed to thumbNail image", http.StatusInternalServerError)
return
}
}
开发者ID:rasmuswz,项目名称:imagetag,代码行数:30,代码来源:imagetagserver.go
示例9: MakeThumbnail
// 生成缩略图
func MakeThumbnail(fromFile string, w, h int) (image *image.NRGBA, err error) {
srcImage, err := imaging.Open(fromFile)
if err != nil {
return nil, err
}
image = imaging.Thumbnail(srcImage, w, h, imaging.Lanczos)
return
}
开发者ID:netw0rm,项目名称:reweb,代码行数:10,代码来源:utils.go
示例10: open
//打开图片文件
func (this *Image) open(filename string) error {
src, err := imaging.Open(filename)
if err != nil {
return err
}
this.filename = filepath.Base(filename)
this.source = src
return nil
}
开发者ID:jango2015,项目名称:go-cms,代码行数:11,代码来源:image.go
示例11: resizeImage
func resizeImage(filename string, size int) string {
resizedFile := filename + ".resized.png"
img, err := imaging.Open(filename)
if err != nil {
panic(err)
}
dstimg := imaging.Resize(img, size, 0, imaging.Box)
imaging.Save(dstimg, resizedFile)
return resizedFile
}
开发者ID:Daio-io,项目名称:pic-sizer,代码行数:10,代码来源:main.go
示例12: GenerateThumbnail
func (f *File) GenerateThumbnail() error {
fpath := filepath.Join(f.TagDir, f.Filename)
s, err := imaging.Open(fpath)
if err != nil {
return err
}
thumb := imaging.Fill(s, 75, 75, imaging.Center, imaging.NearestNeighbor)
err = imaging.Save(thumb, f.ThumbnailPath())
return err
}
开发者ID:jmcarbo,项目名称:filebin,代码行数:12,代码来源:file.go
示例13: GenerateThumbnail
func (be *Backend) GenerateThumbnail(bin string, filename string, width int, height int, crop bool) error {
f, err := be.GetFileMetaData(bin, filename)
if err != nil {
return err
}
if strings.Split(f.MIME, "/")[0] != "image" {
return errors.New("Batch job skipped: " + filename + " is not an image")
}
fpath := filepath.Join(be.filedir, bin, filename)
cachedir := filepath.Join(be.filedir, bin, ".cache")
if !isDir(cachedir) {
if err := os.Mkdir(cachedir, 0700); err != nil {
return err
}
}
dst := filepath.Join(cachedir, strconv.Itoa(width)+"x"+strconv.Itoa(height)+"-"+filename)
// Optimize to skip thumbnail generation if the thumbnail file exists
// and is newer than the file.
fi, err := os.Lstat(dst)
if err == nil {
if f.CreatedAt.After(fi.ModTime()) {
// File newer than thumbnail. Ok to generate.
} else {
// File older than thumbnail. No need to generate.
return nil
}
}
s, err := imaging.Open(fpath)
if err != nil {
return err
}
if crop {
im := imaging.Fill(s, width, height, imaging.Center, imaging.Lanczos)
err = imaging.Save(im, dst)
} else {
im := imaging.Resize(s, width, height, imaging.Lanczos)
err = imaging.Save(im, dst)
}
f.Links = be.GenerateLinks(f.Bin, f.Filename)
be.Lock()
defer be.Unlock()
id := bin + filename
delete(be.files, id)
be.files[id] = f
return err
}
开发者ID:espebra,项目名称:filebin,代码行数:53,代码来源:fs.go
示例14: main
func main() {
flag.Parse()
if len(*destination) > 0 {
err := os.MkdirAll(*destination, os.ModePerm)
if err != nil {
fmt.Printf("Unable to create destination: %s\n", err)
os.Exit(1)
}
}
extMatch := regexp.MustCompile(`\.[a-zA-Z0-9]+$`)
filelist := flag.Args()
// if len(filelist) == 0 {
// filelist = []string{"./*.*"}
// }
for _, srcArg := range filelist {
srcFilenames, err := filepath.Glob(srcArg)
if err != nil {
log.Printf("Glob error: %s\n", err)
continue
}
for _, srcFilename := range srcFilenames {
fmt.Printf("Processing [%s]... ", srcFilename)
src, err := imaging.Open(srcFilename)
if err != nil {
log.Printf("error: %s\n", err)
continue
}
dest := imaging.Grayscale(src)
extension := *output
if extension == "" {
extension = strings.TrimLeft(filepath.Ext(srcFilename), ".")
}
destFilename := extMatch.ReplaceAllString(srcFilename, "") + fmt.Sprintf("-grayscale.%s", extension)
if len(*destination) > 0 {
_, file := filepath.Split(destFilename)
destFilename = filepath.Join(*destination, file)
}
err = imaging.Save(dest, destFilename)
if err != nil {
log.Printf("error: %s\n", err)
continue
}
fmt.Printf("OK; written to %s\n", destFilename)
}
}
}
开发者ID:scjalliance,项目名称:grayscale,代码行数:50,代码来源:grayscale.go
示例15: thumbs
func thumbs(args []string, thumbSizes []int) {
if newThumbsSizes != "" {
vals := strings.Split(newThumbsSizes, ",")
thumbSizes = make([]int, len(vals))
for i := 0; i < len(vals); i++ {
numstr := strings.TrimSpace(vals[i])
if numstr == "" {
thumbSizes[i] = 0
continue
}
num, err := strconv.Atoi(numstr)
if err != nil {
log.Print(err)
continue
}
thumbSizes[i] = num
}
}
for i := 0; i < len(args); i++ {
file := args[i]
ext := filepath.Ext(file)
_, err := os.Stat(file)
if err != nil {
log.Fatal("file " + file + " is not accessible")
}
img, err := imaging.Open(file)
if err != nil {
log.Fatal(err)
}
for j := 0; j < len(thumbSizes); j++ {
if thumbSizes[j] == 0 {
continue
}
resized := imaging.Resize(img, thumbSizes[j], 0, imaging.Lanczos)
rect := resized.Bounds().Max
out := fmt.Sprintf("%s_%dx%d%s",
strings.TrimSuffix(file, ext), rect.X, rect.Y, ext)
err = imaging.Save(resized, out)
log.Println("saved " + out)
if err != nil {
log.Fatal(err)
}
}
}
}
开发者ID:chairraver,项目名称:img4hugo,代码行数:50,代码来源:img4hugo.go
示例16: getImage
func getImage(filename string, small bool) (io.ReadCloser, error) {
if !small {
return os.Open(filename)
}
fullImage, err := imaging.Open(filename)
if err != nil {
return nil, err
}
resized := imaging.Fit(fullImage, config.SmallRes, config.SmallRes, imaging.Linear)
r, w := io.Pipe()
go imaging.Encode(w, resized, imaging.JPEG)
return r, nil
}
开发者ID:rdterner,项目名称:photoview,代码行数:15,代码来源:download.go
示例17: main
func main() {
optarg.Header("General options")
optarg.Add("h", "height", "image height", 100)
optarg.Add("w", "width", "image width", 0)
optarg.Add("i", "input", "input filename", "")
optarg.Add("o", "output", "output filename", "")
var (
height int
width int
inName string
outName string
)
for opt := range optarg.Parse() {
switch opt.ShortName {
case "h":
height = opt.Int()
case "w":
width = opt.Int()
case "i":
inName = opt.String()
case "o":
outName = opt.String()
}
}
if inName == "" || outName == "" {
optarg.Usage()
log.Fatal()
}
orgImg, err := imaging.Open(inName)
if err != nil {
log.Fatal(err)
}
dstImg := resize(orgImg, width, height)
err = imaging.Save(dstImg, outName)
if err != nil {
log.Fatal(err)
}
fmt.Println("Resize to", outName)
}
开发者ID:mshr-h,项目名称:goresize,代码行数:45,代码来源:goresize.go
示例18: Resize
func Resize(c *middleware.Context) {
w := c.QueryInt("width")
p := c.Req.URL.Path
color.Green("[path] %s", p)
target := strings.TrimPrefix(p, "/resize")
if strings.HasPrefix(target, "/cat/screen/") {
var id int64
fmt.Sscanf(target, "/cat/screen/%d?width=", &id)
name, e := screen(id)
if e != nil {
color.Red("%s", e)
return
}
target = name
}
savePath := "data/public/resize/" + com.ToStr(w) + "/" + target + ".jpg"
if com.IsFile(savePath) {
f, e := os.Open(savePath)
if e != nil {
color.Red("%s", e)
}
c.Resp.Header().Set("Content-Type", "image/jpeg")
io.Copy(c.Resp, f)
return
}
img, e := imaging.Open(filepath.Join("data/uploads", target))
if e != nil {
color.Red("%s", e)
return
}
i := resize.Resize(uint(w), uint(w/2), img, resize.Bilinear)
dir := filepath.Dir(target)
os.MkdirAll(filepath.Join("data/public/resize/"+com.ToStr(w)+"/", dir), 0777)
e = imaging.Save(i, savePath)
if e != nil {
color.Red("%s", e)
}
c.Resp.Header().Set("Content-Type", "image/jpeg")
e = jpeg.Encode(c.Resp, i, nil)
if e != nil {
color.Red("%s", e)
}
//c.Redirect("/public/resize/" + com.ToStr(w) + "/" + target + ".jpg")
}
开发者ID:zhuharev,项目名称:smoljanin.ru,代码行数:45,代码来源:catalog.go
示例19: GenerateImage
func (f *File) GenerateImage(width int, height int, crop bool) error {
fpath := filepath.Join(f.TagDir, f.Filename)
s, err := imaging.Open(fpath)
if err != nil {
return err
}
if crop {
im := imaging.Fill(s, width, height, imaging.Center,
imaging.Lanczos)
err = imaging.Save(im, f.ImagePath(width, height))
} else {
im := imaging.Resize(s, width, height, imaging.Lanczos)
err = imaging.Save(im, f.ImagePath(width, height))
}
return err
}
开发者ID:denisbr,项目名称:filebin,代码行数:18,代码来源:file.go
示例20: Draw
func (i *Image) Draw() image.Image {
if i.canvas != nil && i.upToDate {
return i.canvas
}
m, err := imaging.Open(i.href)
if err != nil {
return image.Transparent
}
if i.width|i.height != 0 {
m = imaging.Resize(m, i.width, i.height, i.filter)
}
size := m.Bounds().Size()
i.setDimensions(size.X, size.Y)
return m
}
开发者ID:stephenwithav,项目名称:ssvgc,代码行数:18,代码来源:image.go
注:本文中的github.com/disintegration/imaging.Open函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论