powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Качество изображения формы после применения Resizer
4 сообщений из 4, страница 1 из 1
Качество изображения формы после применения Resizer
    #37718726
UAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа!

Почему качество изображения формы после применения Resizer (и подобных технологий) значительно снижается.
Я попробовал http://foxclub.ru/sol/solution3.php (и еще два, видимо, аналогичных) для перехода с разрешения 1280х1024 на разрешение 1366х768.
При этом, я умножал ширину и высоту формы на коэффициент 0.75 = 768/1024.
При используемом подходе принципиально невозможно сохранить качество?
С другой стороны.
Если коэффициент будет большим 1, качество не ухудшится (это я не успел проверить)?
...
Рейтинг: 0 / 0
Качество изображения формы после применения Resizer
    #37719291
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UAP, Когда-то я где-то нашел функцию которая растягивает все элементы при запуске программы и немного передел под себя, можете попробовать у себя:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
**********************************************************************
** Максимальная растяжка ФОРМЫ на разные разрешения монитора
** Obj - ссылка на Форму, nHi,nWi - начальная высота и ширина формы, nRez - ширина разрешения
Func FormMax(Obj,nHi,nWi,nRez,nH,nW,lSub)
  Local nBuf,ni,np,nWWW,cBuf
  IF EMPTY(nRez)
    nRez=0
  ENDIF
  nWWW=SYSMETRIC(1)
  IF !lSub
    IF !(TYPE("obj.class")=="C" .AND. UPPER(obj.baseclass)=="FORM")
      RETURN
    ENDIF
    Obj.Top=0
    Obj.Left=0
    nH=Obj.Height
    nW=Obj.Width
    IF nRez==nWWW
      RETURN
    ENDIF  
    IF nH==SYSMETRIC(22)-78 .AND. nW==SYSMETRIC(21)-7
      RETURN
    ENDIF  
    Obj.LockScreen=.T.
    Obj.Height=SYSMETRIC(22)-78
    Obj.Width=SYSMETRIC(21)-7
    nH=Obj.Height/nHi
    nW=Obj.Width/nWi
  ENDIF
  ** Обычные объекты
  ni=1
  DO WHILE TYPE("Obj.Objects(ni).Class")=="C"
  IF TYPE("Obj.Objects(ni).Top")=="N"
    ** Запрет изм ширины колонок
    IF !UPPER(Obj.Objects(ni).Class)="COLUMN" 
      Obj.Objects(ni).Width=Obj.Objects(ni).Width*nW
    ENDIF  
    Obj.Objects(ni).Height=Obj.Objects(ni).Height*nH
    Obj.Objects(ni).Top=Obj.Objects(ni).Top*nH
    Obj.Objects(ni).Left=Obj.Objects(ni).Left*nW
  ENDIF
  IF TYPE("Obj.Objects(ni).FontSize")=="N"
    nBuf=INT(Obj.Objects(ni).FontSize*nW)  
    IF nBuf>4 .AND. nBuf<100
      Obj.Objects(ni).FontSize=nBuf 
    ENDIF  
  ENDIF 
  ** PageFrame
  np=1
  DO WHILE TYPE("Obj.Objects(ni).Pages(np).Class")=="C"
    nBuf=INT(Obj.Objects(ni).Pages(np).FontSize*nW)  
    IF nBuf>4 .AND. nBuf<100
      Obj.Objects(ni).Pages(np).FontSize=nBuf 
    ENDIF  
    np=np+1
  ENDDO
  IF LOWER(Obj.Objects(ni).ParentClass)=="container" 
     =Obj.Objects(ni).Resize()
  ENDIF
  ni=ni+1
ENDDO
IF !lSub
  Obj.LockScreen=.F.
ENDIF 
RETURN



Вызывается она в загрузке формы, в процедуре Init, вот таким способом:

Код: sql
1.
FormMax(Thisform,560,793,800)


Соответственно 560 - это высота формы реальная, 793 - ширина, а 800 - это то разрешение на которое вы писали форму.
Я ей пользуюсь постоянно и никаких проблем нет...
...
Рейтинг: 0 / 0
Качество изображения формы после применения Resizer
    #37719311
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Меняя автоматом размеры контролов невозможно красиво растянуть на весь экран форму. У тебя первый моник квадратный (3:4) второй широкоформатный (9:16)
Менять размеры надо исходя из размера шрифта. Например при разработке делаешь все 9м шрифтом, а юзер у себя выбирает какой ему надо, например 11й, тогда все увеличиваешь с коэф. 11/9.
Растяжение на весь экран настраиваешь с помощью свойства Anchor.

Чтобы влезло в высоту 768 надо заранее компоновать форму с учетом этого.
...
Рейтинг: 0 / 0
Качество изображения формы после применения Resizer
    #37719872
UAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые коллеги!

Спасибо за рекомендации.
Займусь их изучением...
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Качество изображения формы после применения Resizer
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]