美文网首页
golang学习---练习0

golang学习---练习0

作者: ParkinWu | 来源:发表于2015-10-27 13:27 被阅读304次

题目来自此处
第 0000 题:将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。 类似于图中效果

1.png 20130727160521968.png

得到


123.png
package main

import (
    "fmt"
    "image"
    "image/color"
    "image/draw"
    "image/png"
    "log"
    "os"
    "time"
)

func main() {
    fmt.Println(time.Now())
    fSrc, err := os.Open("/Users/pzwu/Desktop/20130727160521968.png")
    if err != nil {
        log.Fatal(err)
    }
    defer fSrc.Close()
    src, err := png.Decode(fSrc)
    if err != nil {
        log.Fatal(err)
    }

    des := image.NewRGBA(src.Bounds())

    fSrc1, err := os.Open("/Users/pzwu/Desktop/1.png")
    if err != nil {
        log.Fatal(err)
    }
    defer fSrc1.Close()
    src1, err := png.Decode(fSrc1)
    if err != nil {
        log.Fatal(err)
    }

    draw.Draw(des, des.Bounds(), src, image.Pt(0, 0), draw.Over)

    draw.Draw(des, image.Rect(0, 0, 189, 198), src1, image.ZP, draw.Over)

    for x := 0; x < des.Bounds().Max.X; x++ {
        for y := 0; y < des.Bounds().Max.Y; y++ {
            rgba := des.At(x, y)
            r, g, b, a := rgba.RGBA()
            if r >= 60000 && g >= 60000 && b >= 60000 {
                a = 0
                des.Set(x, y, color.RGBA{uint8(r), uint8(g), uint8(b), uint8(a)})
            }
        }
    }

    fSave, err := os.Create("/Users/pzwu/Desktop/123.png")
    if err != nil {
        log.Fatal(err)
    }

    defer fSave.Close()

    err = png.Encode(fSave, des)
    if err != nil {
        log.Fatal(err)
    }

    fmt.Println(time.Now())
}

相关文章

  • golang学习---练习0

    题目来自此处第 0000 题:将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提...

  • golang简单应用

    学习的golang的练习,推荐学习golang。https://www.liwenzhou.com mian.go...

  • golang学习---练习1

    第 0001 题:做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠...

  • golang学习---练习4

    第 0004 题:任一个英文的纯文本文件,统计其中的单词出现的个数。 分析:去除非英文字符(空格除外)以空格将文本...

  • golang学习---练习2

    第 0002 题:将 0001 题生成的 200 个激活码(或者优惠券)保存到 MySQL 关系型数据库中。 创建...

  • golang官方练习: image

    golang官方练习: image

  • golang memory-model

    引用:https://golang.org/ref/mem#tmp_0[https://golang.org/re...

  • go6~byte切片trim掉C填充的0

    2017.06.02 golang用bytes.TrimSpace无法去掉C初始化数组带来的\0 Golang中字...

  • 2019-02-27

    golang学习图 golang创建项目goland创建项目

  • 第四天:关于心理咨询的一点体会

    2019打卡第4天实际达成情况 运动:0 混沌学习:1 法商学习:0 大群陪伴个案练习:0 雅心音频文章学习:2 ...

网友评论

      本文标题:golang学习---练习0

      本文链接:https://www.haomeiwen.com/subject/drpxhttx.html