PDF Масштабирование внутри UiscrollView -- ios поле с участием uiscrollview поле с участием catiledlayer поле с участием cgpdfdocument поле с участием cgpdfcontext пол Связанный проблема

PDF zooming inside UIScrollView


1
vote

проблема

русский

У меня есть файл PDF 2835 пикселей внутри 2835 пикселей UiscrollView. Чтобы отобразить PDF, я использую CATILEDLAYER.

Моя проблема в том, что когда я уменьшаю ScrollView (в масштабе ниже 1) качество PDF становится очень плохо. Что странно, что когда я увеличиваю ScrollView (в масштабе выше 1) PDF выглядит отлично. Чем больше я увеличиваю (масштаб * 10), тем лучше качество.

Как мне изменить код, чтобы как нисходящее, так и высококлассное качество хорошее?

 <Код> // Draw the CGPDFPageRef into the layer at the correct scale. -(void)drawLayer:(CALayer*)layer inContext:(CGContextRef)context { // First fill the background with white. //CGContextSetRGBFillColor(context, 1.0,1.0,1.0,1.0); CGContextFillRect(context,CGRectMake(0, 0, 2835,1417));  CGContextSetInterpolationQuality(context, kCGInterpolationHigh);  CGContextSaveGState(context); // Flip the context so that the PDF page is rendered // right side up. CGContextTranslateCTM(context, 0.0, 1417); CGContextScaleCTM(context, 1.0, -1.0);  // Scale the context so that the PDF page is rendered  // at the correct size for the zoom level. CGContextScaleCTM(context, myScale,myScale);     CGContextDrawPDFPage(context, pdfPage); CGContextRestoreGState(context);  }   
Английский оригинал

I have a 2835 pixel PDF file inside 2835 pixel UIScrollView. To display the PDF I use CATiledLayer.

My problem is when I zoom out the scrollView (at scale below 1) the PDF quality gets very bad. What is strange that when I zoom in the scrollView (at scale above 1) the PDF looks great. The more I zoom in (scale*10) the better the quality.

How do I change the code so that both the downscale and upscale quality is good?

// Draw the CGPDFPageRef into the layer at the correct scale. -(void)drawLayer:(CALayer*)layer inContext:(CGContextRef)context { // First fill the background with white. //CGContextSetRGBFillColor(context, 1.0,1.0,1.0,1.0); CGContextFillRect(context,CGRectMake(0, 0, 2835,1417));  CGContextSetInterpolationQuality(context, kCGInterpolationHigh);  CGContextSaveGState(context); // Flip the context so that the PDF page is rendered // right side up. CGContextTranslateCTM(context, 0.0, 1417); CGContextScaleCTM(context, 1.0, -1.0);  // Scale the context so that the PDF page is rendered  // at the correct size for the zoom level. CGContextScaleCTM(context, myScale,myScale);     CGContextDrawPDFPage(context, pdfPage); CGContextRestoreGState(context);  } 
</div
              

Список ответов

0
 
vote
vote
Лучший ответ
 

Я устанавливал как уровни OllsefDetail, так и уровниологическими изменителями до 10. Это сдвинуло все масштабирование на UPSACLAING. Сейчас я изменил уровень уровней до 10 и уровневыоформленных до 7 и все работает нормально.

 

I was setting both levelsOfDetail and levelsOfDetailBias to 10. This shifted all the zoom to upsaclaing. Now I changed levelsOfDetail to 10 and levelsOfDetailBias to 7 and all works ok.

</div
 
 

Связанный проблема

0  PDF не загружается из папки документов на приложении Relauch iOS  ( Pdf not loading from documents folder on app relaunch ios ) 
У меня есть PDF, который я загружаю с сервера и сохранил его. Затем я открываю файл из пути файла в <код> UIWebView . Это работает в первый раз, когда я запус...

0  Не удалось отправить сообщение с помощью RTCDatachannel на iOS  ( Failed to send message using rtcdatachannel on ios ) 
Мне удалось разделить видео и аудио между A и B, и я нахожу RTCDatachannelState изменился на KRTCDatachannelStateOpen. <код> - (void)channelDidChangeState:(...

0  Как использовать игрока YouTube IOS Perger с помощью use_frameworks! с какоаподами [закрыты]  ( How to use youtube ios player helper with use frameworks with cocoapods ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> закрыто. Этот вопрос не воспроизводится или был вызван опечаткам...

1  Есть ли способ редактировать мой текущий игровой центр лидеров после моего приложения iOS?  ( Is there a way to edit my current game center leaderboard once my ios app is liv ) 
Итак, я видел, что я сделал ошибку, когда я настроил мою лидеров в моей игре. Я установил его как «низкий до высокого» вместо «высокого к низкому», и это выгл...

0  Лучшие практики для запроса / ответа на сетевой вызов в приложении iPhone Программирование [Закрыто]  ( Best practises for network call request response in iphone application programmi ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> <Путь d = "M15 6.38A6.48 6.48 0 007.78. 04H-.02A6.49 6.49 0 002.05 ...

376  Как я могу преобразовать Swift Array в строку?  ( How do i convert a swift array to a string ) 
Я знаю, как программно сделать это, но я уверен, что есть встроенный ... Каждый язык, который в котором у меня использовал, имеет какое-то текстовое предста...

0  Как трепетать файлы записи в iOS iPhone "Найти на моем телефоне" Папка  ( How to flutter write files to ios iphone find on my phone folder ) 
Моя цель - позволить моему приложению писать и читать файлы, созданные моим приложением. Например, напишите, а затем разрешите пользователю электронной почты ...

0  Фоновый режим (Fetch) в iOS 8  ( Background mode fetch in ios 8 ) 
Я работаю над приложением iOS, которое использует фоновый режим для публикации обновления на сервере. Приложение Wack, проверяет состояние батареи, выключает ...

288  Навигационная панель навигации iPhone Цвет текста  ( Iphone navigation bar title text color ) 
Кажется, что цвет навигации iOS навигация навигация по умолчанию белый. Есть ли способ изменить его на другой цвет? Я в курсе navigationItem.titleView под...

1  Как извлечь время истечения срока действия сертификатов IOS программно  ( How to fetch expiry date of ios certificates programmatically ) 
Я хочу получить срок годности сертификата, с которой подписан мой IPA. Мне нужен эта дата истечения срока действия, которая будет отображаться в приложении. Я...

1  Не удается изменить размер кадра UiscrollView  ( Cannot resize uiscrollviews frame ) 
У меня есть UiscrollView с его рамой и содержимым с таким же размером. Я хочу изменить высоту кадра ScrollView, когда появится клавиатура, но она не работает....

1  Как бы я выровнял изображение в нижнем правом направлении вида, используя классы размера в XCode?  ( How would i align an image to the bottom right of the view using size classes in ) 
У меня есть изображение, которое я хочу выровнять с правым нижним углом вида, а затем я хочу, чтобы остальное изображение масштабируется, чтобы заполнить дост...

0  Не может запустить TCP-сервер на iOS, сотовой  ( Cannot run tcp server on ios cellular ) 
Я пытаюсь запустить TCP-сервер на iOS из сотовой связи. В целях задачи этого вопроса я написал эту очень упрощенную версию сервера и клиента в C, используя So...

1  Попытка запуска двух процессов одновременно в GCD - iOS  ( Attempting to run two processes simultaneously in gcd ios ) 
Я пытаюсь загрузить два набора данных на заднем плане одновременно через GCD в iOS. В настоящее время я построил две отдельные одновременные очереди, в которы...

2  Как установить выбранную первую ячейку по умолчанию в Saslidemenu?  ( How to set selected first cell by default in saslidemenu ) 
Я использую этот сценарий для скольжения меню " Saslidemenu ", и я Пытаюсь выбрать первый элемент по умолчанию, но без успеха. Кто-нибудь знает, как это сдела...

Связанный проблема

0  PDF не загружается из папки документов на приложении Relauch iOS 
0  Не удалось отправить сообщение с помощью RTCDatachannel на iOS 
0  Как использовать игрока YouTube IOS Perger с помощью use_frameworks! с какоаподами [закрыты] 
1  Есть ли способ редактировать мой текущий игровой центр лидеров после моего приложения iOS? 
0  Лучшие практики для запроса / ответа на сетевой вызов в приложении iPhone Программирование [Закрыто] 
376  Как я могу преобразовать Swift Array в строку? 
0  Как трепетать файлы записи в iOS iPhone "Найти на моем телефоне" Папка 
0  Фоновый режим (Fetch) в iOS 8 
288  Навигационная панель навигации iPhone Цвет текста 
1  Как извлечь время истечения срока действия сертификатов IOS программно 
1  Не удается изменить размер кадра UiscrollView 
1  Как бы я выровнял изображение в нижнем правом направлении вида, используя классы размера в XCode? 
0  Не может запустить TCP-сервер на iOS, сотовой 
1  Попытка запуска двух процессов одновременно в GCD - iOS 
2  Как установить выбранную первую ячейку по умолчанию в Saslidemenu? 



© 2021 www.qaru.top All Rights Reserved. Q&A House все права защищены


Licensed under cc by-sa 3.0 with attribution required.