`draw-bitmap` ignores smoothing when the bitmap has a backing scale greater than 1.0 (at least on macOS)
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 38/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
調査の方向性
まず、提供された Racket の再現コードを macOS で実行し、生成された 2 つの PNG を比較します。bitmap-dc%、set-smoothing、backing-scale に対する draw-bitmap の動作を追跡します。backing scale が異なる場合でも、2 つの出力が同じ未スムージング設定を尊重すれば完了です。
索引モデルが issue の本文から書いたものです。
説明
On my machine, macOS 10.13.6, the draw-bitmap method of bitmap-dc% appears to ignore the current smoothing setting if the bitmap to be drawn has a backing scale greater than 1.0. This program reproduces the problem:
#lang racket
(require racket/draw)
(define (make-point-bitmap backing-scale)
(define bmp (make-bitmap 3 3 #:backing-scale backing-scale))
(define dc (new bitmap-dc% [bitmap bmp]))
(send dc set-smoothing 'unsmoothed)
(send dc draw-point 1.5 1.5)
bmp)
(define (blow-up bmp scale)
(define bmp* (make-bitmap (* (send bmp get-width) scale)
(* (send bmp get-height) scale)))
(define dc (new bitmap-dc% [bitmap bmp*]))
(send dc set-smoothing 'unsmoothed)
(send dc set-scale scale scale)
(send dc draw-bitmap bmp 0 0)
bmp*)
(send (blow-up (make-point-bitmap 1.0) 100) save-file "blown-up-1.png" 'png)
(send (blow-up (make-point-bitmap 2.0) 100) save-file "blown-up-2.png" 'png)
The program produces the following images as output:


I would expect them to be the same, but the second is antialiased while the first one isn’t.
- 主要言語
- Racket
- スター
- 19
- フォーク
- 24
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
racket/draw のほかの issue
-
難易度 3/5 1〜2日 初心者へのやさしさ 52/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 43/100
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
似ている issue
-
bug
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
AOMediaCodec/SVT-AV1#2493 ·
-
bug docs performance
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
メンテナーはふだん 3 日以内に返信
-
area: gpu
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
libsdl-org/SDL_ttf#647 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100