Mashq: rasmlar
Oldin yozgan rasm generatoringiz esingizdami? Keling, yana bittasini yozamiz, lekin bu safar u ma'lumotlar slice'i o'rniga image.Image amalga oshirilishini qaytaradi.
Yechimni kodning pastki qismidagi
Topshiriqlarbo'limiga yozing, so'ng Submit tugmasini bosing. Mavzu mustahkam o'zlashishi uchun ikkala topshiriqni ham bajaring.
O'zingizning Image tipingizni belgilang, kerakli metodlarni amalga oshiring va rasmni chiqaring.
Bounds image.Rect(0, 0, w, h) kabi image.Rectangle qaytarishi kerak.
ColorModel color.RGBAModel qaytarishi kerak.
At rangni qaytarishi kerak; oxirgi rasm generatoridagi v qiymati bu yerda color.RGBA{v, v, 255, 255} ga mos keladi.
Izoh: asl sayohatda rasm pic.ShowImage bilan grafik ko'rinishda chiqariladi. Bu yerda main uni belgilar bilan chiqaradi: piksel qizil kanalining qiymati qanchalik katta bo'lsa, belgi shunchalik "to'q" bo'ladi.
Aniqlik uchun quyidagicha bajaring: Bounds() — image.Rect(0, 0, 64, 64); ColorModel() — color.RGBAModel; At(x, y) — v := uint8((x + y) / 2) uchun color.RGBA{v, v, 255, 255}. (image/color paketini import qiling.) Testlar shularni tekshiradi.
Piksellar(m image.Image) int funksiyasini yozing: rasmdagi piksellar sonini (eni * bo'yi) qaytarsin. Masalan, Piksellar(image.NewRGBA(image.Rect(0, 0, 8, 5))) — 40.