Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!zaphod.mps.ohio-state.edu!sol.ctr.columbia.edu!ucselx!brian From: brian@ucselx.sdsu.edu (Brian Ho) Newsgroups: comp.graphics Subject: Scaling Transformation on Bitmap Characters. Message-ID: <1990Nov5.022837.15506@ucselx.sdsu.edu> Date: 5 Nov 90 02:28:37 GMT Organization: San Diego State University Computing Services Lines: 106 Hello out-there, I am some problems which you may give me a hand. I am trying to scale some bitmap images, those images are characters (e.g. A B a b 1 2 ..etc) which have the same font but with different sizes. The goal of the scaling transformation is to normalized those characters into the same size, 20pt. Currently, I am using a very simple transformation algorithm, which is looking for the height/width from the original image, then determine the scaling factor, sx and sy. And apply the scaling factor to the old image. The result is not as good as we expected. Somehow, characters with different sizes resulting different shapes after the transformation, and it is no way to tell they are actually has the same font. The goal we are trying to achieve is to retain the shape/features of the character after transformation. My questions are: 1> Does anyone has a better algorithm/reference for scaling tranformation which retain the features of the original image (in my case - characters with different sizes). 2> I have heard from my advisor that there is a some sort of mathematic model/equations to create characters in different size. Operator can simply type in the size of the desired character(s). And the program will generate the character by itself. I am wondering if anyone has heard of this model, and can you please give me some information on that subject. Thank you very much...... Please send reponses by e-mall : brian@ucselx.sdsu.edu brian@yucatec.sdsu.edu Brian Ho. Following are the results from my scaling transformation algorithm. The target image is 20pt. Characters are in Times font. original character = 8 pts 00000000000000000000 00000000000011111110 00000000000011111110 00000000000011111110 00000000000011111110 00000000111100011110 00000000111100011110 00000000111100011110 00000111111111111110 00000111111111111110 00000111111111111110 00000111111111111110 00000111000000011110 00000111000000011110 00000111000000011110 01111111000000011110 01111111000000011110 01111111000000011110 01111111000000011110 00000000000000000000 original character = 12 pts 00000000000000000000 00000000000011111000 00000000000011111000 00000000000011111000 00000000000011111000 00000000001100011000 00000000001100011000 00000000110000011000 00000000110000011000 00000000110000011000 00000000110000011000 00000011111111111000 00000011111111111000 00000011000000011000 00000011000000011000 00011100000000011000 00011100000000011000 01111111000011111110 01111111000011111110 00000000000000000000 original character = 24 pts 00000000000000000000 00000000000000011000 00000000000001111000 00000000000001111000 00000000000010011000 00000000000110011000 00000000000100011000 00000000001100011000 00000000011000011000 00000000010000011000 00000000110000011000 00000001100000011000 00000001111111111000 00000011000000011000 00000010000000011000 00001110000000011000 00011100000000011000 00111100000000011000 01111110000011111110 00000000000000000000