Class | CropController |
In: |
app/controllers/crop_controller.rb
app/controllers/crop_controller2.rb app/controllers/crop_controller1.rb |
Parent: | ApplicationController |
WorkFile | = | 'temp.jpg' |
WorkFile | = | 'temp.jpg' |
WorkFile | = | 'temp.jpg' |
# File app/controllers/crop_controller1.rb, line 116 116: def backspace 117: 118: session[:state]=0 119: session[:title]='select which side to cut' 120: session[:pic]=session[:motherpic] 121: session[:freeze]=nil 122: redirect_to :action => "index" 123: end
# File app/controllers/crop_controller2.rb, line 57 57: def backspace 58: 59: session[:state]=0 60: session[:selected_item]=0 61: session[:title]='select which side to cut' 62: session[:pic]=session[:motherpic] 63: session[:freeze]=nil 64: redirect_to :action => "index" 65: end
# File app/controllers/crop_controller1.rb, line 90 90: def bottomcrop(path,cropfile,percentcrop) 91: path = path.chomp 92: cropfile = cropfile.chomp 93: percentcrop = (100-percentcrop.to_i)/100.0 94: picwidth = 560 ; #width of the pic (in pixels) 95: picheight = 400; #height of the pic (pixels) 96: widthchanged = (picwidth*percentcrop) #new width (based on the percentage specified by the 97: #user) 98: heightchanged = (picheight*percentcrop) #new height (based on the percentage of cropping 99: #specified by the user) 100: if File.exists? (cropfile) 101: logger.info("filepresent:#{cropfile}exists") 102: else 103: img =Magick::Image.read(path).first 104: img = img.scale(540,400) 105: 106: img.crop(NorthWestGravity,picwidth,heightchanged).write(cropfile) 107: end 108: end
# File app/controllers/crop_controller2.rb, line 37 37: def crp(path,cropfile,width,height,percentcrop,gravity) 38: path = path.chomp 39: cropfile = cropfile.chomp 40: percentcrop = (100-percentcrop.to_i)/100 41: if File.exists?(cropfile) 42: logger.info("filepresent:#{cropfile}exists") 43: else 44: img=Magick::Image.read(path).first 45: img=img.scale(560,400).crop(gravity,width,height).write(cropfile) 46: end 47: end
# File app/controllers/crop_controller.rb, line 11 11: def designers 12: Co-Designer:<a href="http://anmolanand.wordpress.com/"> 13: Anmol Anand</a> 14: end 15: def get_mainfile 16: session[:mainfile] 17: end 18: 19: def start_choices 20: ['left','right','top','bottom'] 21: end 22: 23: def get_choices 24: session[:choices]= 25: ['left','right','top','bottom'] 26: end 27: def get_selected_item 28: session[:selected_item] 29: end 30: 31: def get_motherpic 32: session[:motherpic] 33: end 34: 35: def get_pic 36: session[:pic] 37: end 38: def get_crop_percentage 39: session[:crop_percentage]=((get_selected_item )* ("#{get_stepsize}".to_i)) % 100 40: 41: session[:crop_percentage] 42: end 43: def first_time 44: session[:motherpic]=session[:pic]=get_selected_pic 45: session[:selected_item]=0 46: session[:freeze]=nil 47: session[:choices]=nil 48: #session[:separator]=',' 49: #session[:crop_percentage] ||= 10 #session[:stepsize].to_i 50: #state 0 => we are choosing what to change 51: #state 1 => we have chosen what to change 52: session[:state]=0 53: session[:title]='select which side to cut' 54: redirect_to :action => "index" 55: end 56: 57: def crp(path,cropfile,width,height,gravity) 58: # logger.info("path : #{path}") 59: # logger.info("crop : #{cropfile}") 60: # logger.info("width : #{width}") 61: # logger.info("height : #{height}") 62: # logger.info("gravity : #{gravity}") 63: 64: 65: width=width.to_i 66: height=height.to_i 67: path = path.chomp 68: cropfile = cropfile.chomp 69: if File.exists?(cropfile) 70: # logger.info("filepresent:#{cropfile}exists") 71: else 72: img=Magick::Image.read(path).first 73: img=img.scale(560,400) 74: img.crop(gravity,width,height).write(cropfile) 75: end 76: end 77: 78: def selected(str) 79: session[:motherpic]= get_pic 80: end 81: 82: def get_freeze 83: session[:freeze] ||= get_selected_item #session[:selected_item] 84: end 85: 86: def backspace 87: session[:state]=0 88: session[:selected_item]=0 89: session[:title]='select which side to cut' 90: session[:pic]=get_motherpic #session[:motherpic] 91: session[:freeze]=nil 92: redirect_to :action => "index" 93: end 94: 95: def process_choice selected_choice 96: if session[:state]==1 97: session[:state]=0 98: session[:selected_item]=0 99: session[:freeze]=nil 100: session[:title]='select which side to cut' 101: session[:motherpic]=get_pic #session[:pic] 102: else 103: session[:state]=1 104: session[:title]="crop#{get_crop_percentage}%"+get_choices[get_freeze % get_choices_size] 105: # logger.info("freeze:#{session[:freeze]}") 106: end 107: #logger.info("sel_state:#{session[:state]}") 108: #get_choices[get_freeze%session[:choices].size] 109: #logger.info("freeze:#{session[:freeze]}") 110: logger.info("sel_state:#{session[:state]}") 111: # logger.info("croppercent:#{get_crop_percentage}") 112: end 113: 114: def updownevent 115: # logger.info("reached updownevent") 116: if session[:state]==1 117: session[:crop_percentage]+=(get_stepsize).to_i 118: tempchoice = get_choices 119: choice=tempchoice[get_freeze % tempchoice.size] 120: logger.info("choice:#{choice}") 121: st = (Dir.pwd).chomp("/public")+"/public/images/" 122: dir= Dir.pwd 123: # logger.info("st : #{st}") 124: 125: session[:mainfile]= if session[:motherpic]=~/home/ 126: session[:motherpic] 127: else 128: st+session[:motherpic] 129: end 130: 131: picwidth = 560 ; #width of the pic (in pixels) 132: picheight = 400; #height of the pic (pixels) 133: #session[:crop_percentage]=(get_selected_item % 9 + 1)* 10 134: #session[:crop_percentage]=session[:crop_percentage]+session[:stepsize].to_i 135: #percentcrop=session[:crop_percentage] 136: percentcrop=get_crop_percentage 137: 138: percentcrop = (100-percentcrop.to_i) 139: #percentcrop = 50 140: pwidth = ((picwidth)*percentcrop.to_i)/100 141: pheight=((picheight)*percentcrop.to_i)/100 142: # logger.info("percentcrop : #{percentcrop}") 143: # logger.info("crop_percentage : 144: #{session[:crop_percentage]}") 145: # logger.info("pwidth : #{pwidth}") 146: # logger.info("pheight : #{pheight}") 147: case choice 148: when "left" 149: filename="#{get_mainfile}".gsub(/\./,"cl#{get_crop_percentage}"+".") 150: # logger.info("mainfile:#{get_mainfile}") 151: session[:pic]=filename 152: session[:title]="crop#{get_crop_percentage}%"+get_choices[get_freeze % get_choices_size] 153: crp("#{get_mainfile}",filename,pwidth,picheight,NorthEastGravity) 154: when "right" 155: filename="#{get_mainfile}".gsub(/\./,"cr#{get_crop_percentage}"+".") 156: session[:pic]=filename 157: session[:title]="crop#{get_crop_percentage}%"+get_choices[get_freeze % get_choices_size] 158: crp("#{get_mainfile}",filename,pwidth,picheight,NorthWestGravity) 159: #logger.info("mainfile1:#{get_selected_pic}") 160: 161: when "top" 162: 163: filename="#{get_mainfile}".gsub(/\./,"ct#{get_crop_percentage}"+".") 164: session[:pic]=filename 165: session[:title]="crop#{get_crop_percentage}%"+get_choices[get_freeze % get_choices_size] 166: crp ("#{get_mainfile}",filename,picwidth,pheight,SouthEastGravity) 167: 168: when "bottom" 169: filename="#{get_mainfile}".gsub(/\./,"cb#{get_crop_percentage}" +".") 170: session[:pic]=filename 171: session[:title]="crop#{get_crop_percentage}%" + get_choices[get_freeze % get_choices_size] 172: crp("#{get_mainfile}",filename,picwidth,pheight,NorthWestGravity) 173: end 174: end
# File app/controllers/crop_controller1.rb, line 246 246: def extras 247: logger.info("reached extras") 248: if session[:state]==1 249: @selected_item = session[:freeze]%get_choices.size 250: end 251: if session[:pic].match("(/images/.*)$") 252: @picfile=$1 253: else 254: @picfile=session[:pic] 255: end 256: logger.info("mypic: #{@picfile}") 257: end
# File app/controllers/crop_controller2.rb, line 143 143: def extras 144: logger.info("reached extras") 145: if session[:state]==1 146: @selected_item = session[:freeze]%get_choices_size 147: end 148: if session[:pic].match("(/images/.*)$") 149: @picfile=$1 150: else 151: @picfile=session[:pic] 152: end 153: logger.info("mypic: #{@picfile}") 154: end
# File app/controllers/crop_controller1.rb, line 16 16: def first_time 17: 18: session[:motherpic]=session[:pic]=get_selected_pic 19: session[:selected_item]=0 20: session[:freeze]=nil 21: session[:separator]=',' 22: session[:crop_percentage]=0 23: #state 0 => we are choosing what to change 24: #state 1 => we have chosen what to change 25: session[:state]=0 26: session[:title]='select which side to cut' 27: 28: #session[:expiry]= 29: #'<meta http-equiv="Expires" content="0" />' 30: #so that any older copy of temp.jpg in the cache is not used 31: redirect_to :action => "index" 32: end
# File app/controllers/crop_controller2.rb, line 22 22: def first_time 23: session[:motherpic]= 24: session[:pic]=get_selected_pic 25: session[:selected_item]=0 26: session[:freeze]=nil 27: session[:choices]=nil 28: #session[:separator]=',' 29: session[:crop_percentage]=session[:stepsize].to_i 30: #state 0 => we are choosing what to change 31: #state 1 => we have chosen what to change 32: session[:state]=0 33: session[:title]='select which side to cut' 34: redirect_to :action => "index" 35: end
# File app/controllers/crop_controller1.rb, line 12 12: def get_choices 13: session[:choices]=['left','right','top','bottom'] 14: end
# File app/controllers/crop_controller2.rb, line 17 17: def get_choices 18: session[:choices]= 19: ['left','right','top','bottom'] 20: end
# File app/controllers/crop_controller2.rb, line 53 53: def get_freeze 54: session[:freeze] ||= session[:selected_item] 55: end
# File app/controllers/crop_controller1.rb, line 112 112: def get_freeze 113: session[:freeze] ||= session[:selected_item] 114: end
# File app/controllers/crop_controller1.rb, line 8 8: def get_selected_pic 9: session[:picfile] ||= "yes.jpeg" 10: end
# File app/controllers/crop_controller.rb, line 8 8: def get_selected_pic 9: session[:picfile] ||= "yes.jpeg" 10: end
# File app/controllers/crop_controller2.rb, line 8 8: def get_selected_pic 9: session[:picfile] ||= "yes.jpeg" 10: end
# File app/controllers/crop_controller1.rb, line 33 33: def leftcrop (path,cropfile,percentcrop) 34: path = path.chomp 35: cropfile = cropfile.chomp 36: percentcrop = (100-percentcrop.to_i)/100.0 37: picwidth = 560 ; #width of the pic (in pixels) 38: picheight = 400; #height of the pic (pixels) 39: widthchanged = (picwidth*percentcrop) #new width (based on the percentage specified 40: #by the user) 41: heightchanged = (picheight*percentcrop) #new height (based on the percentage of cropping 42: #specified by the user) 43: logger.info("path:#{path},percentage:#{@crop_percentage}") 44: if File.exists? (cropfile) 45: logger.info("filepresent:#{cropfile}exists") 46: else 47: img =Magick::Image.read(path).first 48: img = img.scale(540,400) 49: img.crop(NorthEastGravity,widthchanged,picheight).write(cropfile) 50: 51: end 52: end
# File app/controllers/crop_controller2.rb, line 67 67: def process_choice selected_choice 68: 69: if session[:state]==1 70: session[:state]=0 71: session[:selected_item]=0 72: session[:freeze]=nil 73: session[:title]='select which side to cut' 74: session[:motherpic]=session[:pic] 75: else 76: session[:state]=1 77: session[:title]= 78: "crop#{session[:crop_percentage]}%"+get_choices[get_freeze%get_choices_size] 79: logger.info("freeze:#{session[:freeze]}") 80: end 81: #logger.info("sel_state:#{session[:state]}") 82: #get_choices[get_freeze%session[:choices].size] 83: #logger.info("freeze:#{session[:freeze]}") 84: logger.info("sel_state:#{session[:state]}") 85: logger.info("croppercent:#{session[:crop_percentage]}") 86: end
# File app/controllers/crop_controller1.rb, line 125 125: def process_choice selected_choice 126: 127: if session[:state]==1 128: session[:state]=0 129: session[:freeze]=nil 130: session[:title]='select which side to cut' 131: session[:motherpic]=session[:pic] 132: else 133: session[:state]=1 134: 135: session[:title]="crop#{session[:crop_percentage]}%"+ 136: get_choices[get_freeze%session[:choices].size] 137: logger.info("freeze:#{session[:freeze]}") 138: 139: end 140: logger.info("sel_state:#{session[:state]}") 141: logger.info("croppercent:#{session[:crop_percentage]}") 142: 143: end
# File app/controllers/crop_controller1.rb, line 53 53: def rightcrop(path,cropfile,percentcrop) 54: path = path.chomp 55: cropfile = cropfile.chomp 56: percentcrop = (100-percentcrop.to_i)/100.0 57: picwidth = 560 ; #width of the pic (in pixels) 58: picheight = 400; #height of the pic (pixels) 59: widthchanged = (picwidth*percentcrop) #new width (based on the percentage specified by the 60: #user) 61: heightchanged = (picheight*percentcrop) #new height (based on the percentage of cropping 62: #specified by the user) 63: if File.exists? (cropfile) 64: logger.info("filepresent:#{cropfile}exists") 65: else 66: img =Magick::Image.read(path).first 67: img = img.scale(540,400) 68: img.crop(NorthWestGravity,widthchanged,picheight).write(cropfile) 69: end 70: end
# File app/controllers/crop_controller2.rb, line 49 49: def selected(str) 50: session[:motherpic]= session[:pic] 51: end
# File app/controllers/crop_controller1.rb, line 109 109: def selected(str) 110: session[:otherpic]= session[:pic] 111: end
# File app/controllers/crop_controller2.rb, line 13 13: def start_choices 14: ['left','right','top','bottom'] 15: end
# File app/controllers/crop_controller1.rb, line 71 71: def topcrop(path,cropfile,percentcrop) 72: path = path.chomp 73: cropfile = cropfile.chomp 74: percentcrop = (100-percentcrop.to_i)/100.0 75: picwidth = 560 ; #width of the pic (in pixels) 76: picheight = 400; #height of the pic (pixels) 77: widthchanged = (picwidth*percentcrop) #new width (based on the percentage specified by the 78: #user) 79: heightchanged = (picheight*percentcrop) #new height (based on the percentage of 80: #cropping specified by the user) 81: if File.exists? (cropfile) 82: logger.info("filepresent:#{cropfile}exists") 83: else 84: img =Magick::Image.read(path).first 85: img = img.scale(540,400) 86: img.crop(SouthEastGravity,picwidth,heightchanged).write(cropfile) 87: #img.crop(SouthEastGravity,picwidth,heightchanged).write(cropfile) 88: end 89: end
# File app/controllers/crop_controller1.rb, line 146 146: def updownevent 147: logger.info("reached updownevent") 148: if session[:state]==1 149: 150: 151: session[:crop_percentage]=(get_selected_item % 9 + 1 ) * 10 152: 153: tempchoice = get_choices 154: choice=tempchoice[get_freeze % tempchoice.size] 155: logger.info("choice:#{choice}") 156: case choice 157: when "left" 158: filename= 159: "#{session[:motherpic]}".gsub(/\./,"cl#{session[:crop_percentage]}"+".") 160: mainfile=Dir.pwd+"/images/#{session[:motherpic]}" 161: 162: newfile= Dir.pwd+"/images/"+filename 163: 164: 165: session[:pic]=newfile 166: session[:title]="crop#{session[:crop_percentage]}%"+ 167: get_choices[get_freeze%session[:choices].size] 168: 169: leftcrop(mainfile,newfile,session[:crop_percentage]) 170: 171: logger.info("newfile:#{newfile}") 172: 173: #logger.info("mainfile1:#{get_selected_pic}") 174: 175: #logger.info("mainfile:#{session]=infile]}") 176: #logger.info("cropercentage:#{@cropercentage}") 177: #logger.info("selected pic:#{get_selected_pic}") 178: #logger.info("croping pic:#{session[:pic]}") 179: 180: when "right" 181: 182: filename= 183: "#{session[:motherpic]}".gsub(/\./,"cr#{session[:crop_percentage]}"+".") 184: mainfile= 185: Dir.pwd+"/images/#{session[:motherpic]}" 186: 187: newfile=Dir.pwd+"/images/"+filename 188: 189: session[:pic]=newfile 190: 191: 192: session[:title]="crop#{session[:crop_percentage]}%"+get_choices[get_freeze%session[:choices].size] 193: rightcrop(mainfile,newfile,session[:crop_percentage]) 194: logger.info("newfile:#{newfile}") 195: #logger.info("mainfile1:#{get_selected_pic}") 196: #logger.info("mainfile:#{session[:mainfile]}") 197: #logger.info("cropercentage:#{@cropercentage}") 198: #logger.info("selected pic:#{get_selected_pic}") 199: # logger.info("croping pic:#{session[:pic]}") 200: 201: when "top" 202: 203: 204: filename="#{session[:motherpic]}".gsub(/\./,"ct#{session[:crop_percentage]}"+".") 205: 206: mainfile=Dir.pwd+"/images/#{session[:motherpic]}" 207: 208: newfile= Dir.pwd+"/images/"+filename 209: 210: 211: session[:pic]=newfile 212: 213: session[:title]="crop#{session[:crop_percentage]}%"+get_choices[get_freeze%session[:choices].size] 214: 215: topcrop(mainfile,newfile,session[:crop_percentage]) 216: logger.info("newfile:#{newfile}") 217: #logger.info("mainfile1:#{get_selected_pic}") 218: #logger.info("mainfile:#{session[:mainfile]}") 219: #logger.info("cropercentage:#{@cropercentage}") 220: #logger.info("selected pic:#{get_selected_pic}") 221: #logger.info("croping pic:#{session[:pic]}") 222: 223: when "bottom" 224: 225: 226: filename ="#{session[:motherpic]}".gsub(/\./,"cb#{session[:crop_percentage]}"+".") 227: mainfile=Dir.pwd+"/images/#{session[:motherpic]}" 228: 229: newfile=Dir.pwd+"/images/"+filename 230: 231: 232: session[:pic]=newfile 233: 234: session[:title]="crop#{session[:crop_percentage]}%"+get_choices[get_freeze%session[:choices].size] 235: 236: bottomcrop(session[:mainfile],session[:newfile],session[:crop_percentage]) 237: logger.info("newfile:#{newfile}") 238: #logger.info("mainfile1:#{get_selected_pic}") 239: #logger.info("mainfile:#{session[:mainfile]}") 240: #logger.info("cropercentage:#{@cropercentage}") 241: #logger.info("selected pic:#{get_selected_pic}") 242: #logger.info("croping pic:#{session[:pic]}") 243: end 244: end 245: end
# File app/controllers/crop_controller2.rb, line 88 88: def updownevent 89: logger.info("reached updownevent") 90: if session[:state]==1 91: #session[:crop_percentage]=(get_selected_item % 9 +1)*10 92: session[:crop_percentage]= 93: session[:crop_percentage]+session[:stepsize].to_i 94: tempchoice = get_choices 95: choice=tempchoice[get_freeze % tempchoice.size] 96: logger.info("choice:#{choice}") 97: st= 98: Dir.pwd+"/images/"session[:mainfile]= 99: if session[:motherpic]=~/home/ 100: session[:motherpic] 101: else 102: st+session[:motherpic] 103: end 104: 105: picwidth = 560 ; #width of the pic (in pixels) 106: picheight = 400; #height of the pic (pixels) 107: width = (picwidth*session[:crop_percentage]) 108: height=(picheight*session[:crop_percentage]) 109: case choice 110: when "left" 111: filename= 112: "#{session[:mainfile]}".gsub(/\./,"cl#{session[:crop_percentage]}"+".") 113: logger.info("mainfile:#{session[:mainfile]}") 114: session[:pic]=filename 115: session[:title]= 116: "crop#{session[:crop_percentage]}%"+get_choices[get_freeze%session[:choices].size] 117: crp(session[:mainfile], 118: filename,width, 119: picheight,"#{session[:crop_percentage]}", 120: NorthEastGravity) 121: when "right" 122: filename="#{session[:mainfile]}".gsub(/\./,"cr#{session[:crop_percentage]}"+".") 123: session[:pic]=filename 124: session[:title]="crop#{session[:crop_percentage]}%"+get_choices[get_freeze%get_choices_size] 125: crp(session[:mainfile],filename,width,picheight,"#{session[:crop_percentage]}",NorthWestGravity) 126: #logger.info("mainfile1:#{get_selected_pic}") 127: 128: when "top" 129: filename="#{session[:mainfile]}".gsub(/\./,"ct#{session[:crop_percentage]}"+".") 130: session[:pic]=filename 131: session[:title]="crop#{session[:crop_percentage]}%"+get_choices[get_freeze%get_choices_size] 132: crp(session[:mainfile],filename,picwidth,height,"#{session[:crop_percentage]}",SouthEastGravity) 133: 134: when "bottom" 135: filename="#{session[:mainfile]}".gsub(/\./,"cb#{session[:crop_percentage]}"+".") 136: session[:pic]=filename 137: session[:title]="crop#{session[:crop_percentage]}%"+get_choices[get_freeze%get_choices_size] 138: crp(session[:mainfile],filename,picwidth,height,"#{session[:crop_percentage]}",NorthWestGravity) 139: end 140: end 141: end