1

私のアプリには非常に奇妙な問題があります。これはRetinaディスプレイでのみ発生し、シミュレーターでは発生しません

私は、openstreetmapsタイル(地図の一部)を埋め込んだ一連のアプリケーションを開発しました。

各アプリには、UIScrollViewに表示するマップ(256px / 256px)がたくさんあります。非網膜デバイスおよび網膜シミュレーターで完全に機能します。

問題:各タイルは、ピクセルの最後の行がランダムな色で表示されます(ほとんどの場合は黒です)

説明のために、デバイスとシミュレーターを使用して、同じ場所のスクリーンショットを作成しました。それらは1つの画像にグループ化されています:

ここに画像の説明を入力してください

黒いピクセルラインがタイルの外ではなく、タイルの最後のピクセルラインにあることがわかります(2つの画面間でシフトが発生しないため)

さらに奇妙なことに、タイルに色の変化がほとんどない場合、ピクセルラインがランダムな要素の色になり、まったく表示されないことがあります。

ここに画像の説明を入力してください

ここでは、青い線、灰色の線、黒い線....。

編集 :

私はコードをたくさん単純化しました、そしてグリッチはこの2タイルのロードだけでとどまります:

int W = 256;
int H = 256;
NSString * map1 = [[NSBundle mainBundle] pathForResource:@"test1.png" ofType:nil];
NSString * map2 = [[NSBundle mainBundle] pathForResource:@"test2.png" ofType:nil];
UIImageView * pieceOfMap1 = [[UIImageView alloc] initWithFrame:CGRectMake(0, H*0, W, H)];
UIImageView * pieceOfMap2 = [[UIImageView alloc] initWithFrame:CGRectMake(0, H*1, W, H)];
[pieceOfMap1 setImage:[UIImage imageWithContentsOfFile:map1]];
[pieceOfMap2 setImage:[UIImage imageWithContentsOfFile:map2]];
[self.view addSubview:pieceOfMap1];
[self.view addSubview:pieceOfMap2];

128x128 @ 2xタイルで試しましたが、問題は解決しません。
それはOpenStreetMaps画像から来たのでしょうか?

私の2つのタイルはここからダウンロードできます:http://dl.free.fr/n08C6JIqW

4

1 に答える 1

0

わかった。

フォトショップで2つのテストタイルを開き、変更を加えずに、pngで再度保存しました。

黒い線はもう表示されません。

したがって、これはオープンストリートマップのPNG画像から取得されます(そのうちの1つを取得するには、http: //www.openstreetmap.org/にアクセスし、地図上で右クリックして、画像を保存します)

問題は部分的に説明されていますが、今私はフォトショップに2067ファイルを持っています...

私はそれをグーグルで検索しましたが、何かを説明するものは何も見つかりませんでした...

他に説明がなければ、私自身の答えを受け入れますが、誰かが私に理由を理解するために何かをくれたら、私はうれしいです。

于 2012-07-23T09:10:00.653 に答える